skill:oracle-assess
Answer this question about chain 1 over blocks 26051647 to 26051945 (closing hash 0x3d758284f749b52db2b004b400b4a4f3bcbadae179c7ba7aaf758704439ef475), exactly as .imd/reads/oracle.json pins it: What air temperature, in whole degrees Celsius, did the last routine METAR for KBHM (Birmingham-Shuttlesworth International Airport, Birmingham, Alabama) issued at or before 17:00 UTC on 23 September 2026 (1:00 PM Eastern Daylight Time) report? Answer type: uint256. Evidence: panel. Definitions the requester fixed: - answer: the temperature in whole degrees Celsius as a non-negative whole number, taken from the temperature/dew-point group in the body of that METAR (for example 26 from "26/20"), not the tenths in the T-group remarks and not converted to Fahrenheit - subject: The weather observation at KBHM (Alabama) on 23 September 2026. "The last routine METAR issued at or before 17:00 UTC" means the report of type METAR (not SPECI) whose observation time (the DDHHMMZ group) is the latest at or before 231700Z, typically about 1651Z-1656Z. The pinned chain and window of this request only timestamp it; the answer is a recorded weather observation, not a reading taken at the pinned block. - source: Answer from the archived METAR text itself, read from a public archive (aviationweather.gov data API, Iowa Environmental Mesonet ASOS archive, Ogimet, or NOAA/NWS observation history), quote the raw report in your notes, and name the source. - missing: If you cannot find that report, report that; do not estimate from a forecast, a nearby station, or an hourly summary. Three steps: (1) read one or two sources that state the fact and note which; (2) write artifacts/answer.json with recipe kind "panel" and the source; (3) run node .imd/reads/skills/oracle-assess/scripts/check-answer.mjs and fix what it prints. Nothing else needs reading first: the brief above is in .imd/reads/oracle.json, and .imd/reads/skills/oracle-assess/REFERENCE.md lists the recipe's fields if the checker asks for one.
VERDICT: paths and tree verified; no suite was run for this kind of work
Created [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30 °C**. The archived report was `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`; its body temperature group reports 30. [Aviation Weather Center API](https://aviationweather.gov/api/data/metar?ids=KBHM&format=raw&date=2026-09-23T17%3A00%3A00Z&hours=1) The required checker printed `ok`.
The reported temperature was **30°C** from the 16:53Z METAR. I saved the raw report, source, and definitions in [artifacts/answer.json](/home/identitymd7/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
Wrote [artifacts/answer.json](/home/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30°C**. The Iowa Environmental Mesonet archive’s latest routine report in the queried interval was `KBHM 231655Z AUTO 32006KT 10SM CLR 30/21 A3014 RMK T03000210 VRB06KT MADISHF`. The required checker passed: `ok`.
[artifacts/answer.json](/home/imd/.identitymd-1838/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) records **30°C**, from the `30/21` group in the 231653Z KBHM METAR. The required checker prints `ok`.
The reported temperature was **30 °C**, from the `30/21` group in the 16:53Z routine METAR. I saved the raw report, source URL, and definitions in [artifacts/answer.json](/home/imd/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
Wrote [artifacts/answer.json](/home/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30°C**, from the 231653Z routine METAR archived by the Iowa Environmental Mesonet. The checker printed `ok`.
`artifacts/answer.json` records **30 °C** from the 16:53Z routine METAR. The raw report and Aviation Weather Center API source are included in the file. The checker printed `ok`.
Created [artifacts/answer.json](/home/seat/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30` (°C), citing the archived KBHM `231653Z` METAR. Validation passed: `ok`.
**30 °C.** The last routine KBHM METAR at or before 17:00 UTC was the 16:53 UTC report; its body contains `30/21`. Source: [Iowa Environmental Mesonet METAR archive](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=BHM&data=metar&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=24&tz=Etc%2FUTC&format=onlycomma&latlon=no&elev=no&missing=M&trace=T&direct=no&report_type=3). I wrote [artifacts/answer.json](/Users/zhuminquan/.identitymd-2/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker returned `ok`.
The reported temperature is **30°C**. The answer file includes the raw 16:53Z METAR and the [IEM ASOS archive query](https://mesonet1.agron.iastate.edu/cgi-bin/request/asos.py?station=BHM&data=metar&report_type=3&sts=2026-09-23T16%3A45%3A00Z&ets=2026-09-23T17%3A01%3A00Z&tz=UTC&format=tdf). The required checker printed `ok`. [artifacts/answer.json](/home/identitymd5/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json)
Wrote [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with the answer **30°C**, based on the 16:53Z METAR’s `30/21` group from the [Aviation Weather Center API](https://aviationweather.gov/api/data/metar?ids=KBHM&format=raw&date=202609231700&hours=3). The required checker printed `ok`.
The last KBHM METAR in the archive query before 17:00 UTC is the 231655Z report. Its `30/21` temperature/dew-point group gives **30°C**. I wrote [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with the raw report, source, definitions, and pinned window. The checker prints `ok`.
The answer is **30°C**. The latest routine METAR in the IEM archive before 17:00Z was at 231655Z; its temperature/dew-point group was `30/21`. [artifacts/answer.json](/home/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) is written, and the checker prints `ok`.
The reported temperature was **30°C**, from the 16:53Z METAR’s `30/21` group. I saved the answer and source details in [artifacts/answer.json](/home/seat10/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
Checker passes. The last routine METAR for KBHM at or before 231700Z is 231653Z (`30/21 A3014`), giving a temperature of **30°C**, sourced from aviationweather.gov's data API. `artifacts/answer.json` is written and validated.
Recorded **30°C** from the 16:53Z routine METAR in `artifacts/answer.json:1`. The checker prints `ok`.
Created [artifacts/answer.json](/opt/identitymd/worker3/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30`. Validation passed: `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with the answer **30°C** and the archived METAR text. The checker printed `ok`.
The answer is **30°C**. The latest routine KBHM METAR at or before 17:00Z was observed at 16:53Z; its body group was `30/21`. Source: [Aviation Weather Center METAR API](https://aviationweather.gov/api/data/metar?ids=KBHM&format=raw&date=2026-09-23T17%3A00%3A00Z&hours=2). I wrote [artifacts/answer.json](/home/worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
The archived routine METAR at 16:53Z reports `30/21`, so the answer is **30°C**. The archive query and raw report are recorded in [answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30` (°C), citing the 231653Z KBHM METAR. Validation passed: `check-answer.mjs` printed `ok`.
Wrote [artifacts/answer.json](/home/worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30°C**. The Aviation Weather Center archive shows the latest routine report before 1700Z was the 1653Z METAR, with temperature group `30/21` ([archived reports](https://aviationweather.gov/api/data/metar?ids=KBHM&format=raw&date=20260923_1700&hours=6)). The checker printed `ok`.
Created [artifacts/answer.json](/home/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30 °C**, sourced from the archived `231653Z` KBHM METAR. Validation passed: `ok`.
Completed [artifacts/answer.json](/home/seat/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30`. Validated successfully: `check-answer.mjs` prints `ok`.
Created [artifacts/answer.json](/home/seat/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30` (°C), citing the archived IEM raw METAR. Validation passed: `ok`.
`artifacts/answer.json` records **30°C** from the 16:53Z KBHM METAR and includes the raw report and source. The checker passes: `ok`.
The archived routine METAR at 16:53Z reported `30/21`, so the answer is **30°C**. I recorded the raw report and Aviation Weather Center API source in [answer.json](/home/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The checker prints `ok`.
The IEM archive’s latest routine KBHM METAR at or before 17:00 UTC was issued at 231653Z and reports `30/21`, so the answer is **30°C**. The raw report and archive URL are recorded in [answer.json](/home/worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The required checker printed `ok`.
Checker prints `ok`. The last routine METAR for KBHM at/before 1700Z on 23 Sep 2026 was 231653Z (30/21) — 30°C, from aviationweather.gov's raw METAR archive. `artifacts/answer.json` is written and validated.
The qualifying routine report was issued at **231653Z**: `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The body temperature/dew-point group reports **30°C**. I recorded it in [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json), citing the [Iowa Environmental Mesonet archive query](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=KBHM&sts=2026-09-23T00%3A00%3A00Z&ets=2026-09-23T17%3A00%3A00Z&data=metar&report_type=3&tz=UTC&format=tdf). The required checker printed `ok`.
Completed [artifacts/answer.json](/var/lib/imd-worker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). Answer: `30` °C. Validation passed: `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). Answer: 30°C. Validation passed: `ok`.
Created [artifacts/answer.json](artifacts/answer.json) with answer `"30"`, the archived 16:53 UTC KBHM METAR, and its source URL. The required checker printed `ok`.
Completed [artifacts/answer.json](/home/imdworker/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). Answer: `30` °C, from IEM’s archived report `KBHM 231653Z … 30/21 …`. Local checker: `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30` °C, citing the archived 231653Z KBHM METAR. Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/home/levi/imd/p6/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30` and the raw METAR citation. The checker prints `ok`.
The answer is 30 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints ok for it. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 1653Z report: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The aviationweather.gov data API and the Iowa Environmental Mesonet ASOS archive (station BHM) both return this exact text. The next report, 231753Z, is after the cutoff, and no SPECI was involved. The recipe kind is `panel`, with those two archives named as the source. The window and request id are copied from `.imd/reads/oracle.json`. The checker rejected my first draft only because the `window` keys were in a different order than the brief's, which I fixed.
Checker passes. Answer: 30°C, from the 231653Z KBHM METAR ("30/21") via IEM ASOS archive, written to `artifacts/answer.json`.
Created [artifacts/answer.json](artifacts/answer.json) with answer `30` °C and archived raw-METAR evidence. Validator result: `ok`.
The check passes with `ok`. Summary: The last routine METAR for KBHM at or before 17:00 UTC on 23 Sep 2026 was issued at 1653Z: `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`, sourced from the Iowa Environmental Mesonet ASOS archive. The temperature/dew-point group `30/21` gives an answer of **30°C**, written to `artifacts/answer.json` and verified with `check-answer.mjs`.
Checker prints `ok`. Answer: KBHM's last routine METAR at/before 231700Z was 231653Z reporting 30/21 → 30°C, sourced from the IEM ASOS archive. Written to `artifacts/answer.json`.
- Recorded **30°C** from the 16:53Z routine METAR in `artifacts/answer.json:1`; the raw report and Aviation Weather Center API source are included in its notes. - The pinned request metadata and definitions are copied into the answer. The checker prints `ok`.
Created `artifacts/answer.json:1` with the answer `30` and the raw METAR and archive source in its notes. The checker returns `ok`.
The latest routine METAR at or before 17:00Z was issued at 16:53Z: `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`. Its temperature group reports **30°C**. I saved the answer and IEM archive source in [artifacts/answer.json](/home/identitymd4/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json). The checker printed `ok`.
Created [artifacts/answer.json](/home/imd/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30`, based on the archived 1653Z KBHM METAR. The checker printed `ok`.
Checker passes and no stray files (artifacts/answer.json is untracked output, git status clean since it's untracked and not staged). Answer: temperature 30°C from the 231653Z KBHM METAR (IEM ASOS archive), the last routine METAR at or before 231700Z.
Created [artifacts/answer.json](/home/imd/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30`. The archived routine METAR at 231653Z reports `30/21`. The answer checker printed `ok`.
Wrote [artifacts/answer.json](/home/imd/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with the answer **30°C**, from the IEM archive’s 16:53Z KBHM report: `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`. The required checker printed `ok`.
Created [artifacts/answer.json](/home/imd/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer `30`. Validation passed: `check-answer.mjs` printed `ok`.
artifacts/answer.json is written and untracked as required, and `check-answer.mjs` prints `ok`. Answer: **30°C**, from the KBHM 231653Z METAR (IEM ASOS archive): `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`.
Created [artifacts/answer.json](/home/imd3/.identitymd/work/2866263f-5a41-4237-be57-6a1fb143b057/4497a355-954f-45c0-bff8-67c1f936994f/artifacts/answer.json) with answer **30°C**, from the archived 231653Z KBHM METAR. The checker printed `ok`.
Checker prints `ok`. Answer: 30°C, from METAR KBHM 231653Z ("30/21") via the IEM ASOS archive — written to `artifacts/answer.json`.
Checker prints `ok`. The last routine METAR for KBHM at/before 231700Z was `KBHM 231653Z ... 30/21 ...` (IEM ASOS archive), giving a temperature of 30°C, written to artifacts/answer.json.
Checker prints `ok`. The last routine METAR for KBHM at/before 17:00Z on 23 Sep 2026 was `KBHM 231653Z ... 30/21 ...`, reporting 30°C, sourced from the IEM ASOS archive. `artifacts/answer.json` is written and validated.
The answer is 30 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The last routine METAR at or before 17:00 UTC is the 231653Z report. I read it from the Iowa Environmental Mesonet ASOS archive (station BHM, METAR type only): `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group is 30/21, so the temperature is 30. I used one source rather than two. The recipe is `panel` with that archive as its source.
The answer is 30 °C. I wrote it to `artifacts/answer.json`, and `check-answer.mjs` prints ok for it. The report is the last routine METAR for KBHM at or before 17:00 UTC on 23 September 2026, observed at 1653Z, from the aviationweather.gov data API: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group is 30/21. There was no SPECI or other report between 1653Z and 1700Z, and the next report is 231753Z, after the cutoff. The recipe is kind `panel` with that API URL as the source. The first check failed because I had listed the window keys in a different order from `oracle.json`. I reordered them and the check passed.
The answer is 30 °C, and `artifacts/answer.json` is written and passes `check-answer.mjs` (it printed `ok`). The last routine METAR at or before 231700Z is the 231653Z report, from the aviationweather.gov data API: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group is 30/21, so the air temperature is 30. The report list showed no SPECI or later METAR between 1653Z and 1700Z. The checker also required the `window` keys in the same order as `.imd/reads/oracle.json`, so I reordered them. The recipe kind is `panel`, with the API URL as its source.
The answer is 30 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok`. The report is the 231653Z METAR for KBHM, from the aviationweather.gov data API: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` It is the last routine METAR at or before 17:00 UTC on 23 September. The listing shows no SPECI between 1653Z and 1700Z. I read only this one source. The answer file records that source and the raw report, and uses the panel recipe. My first write failed the checker because the `window` keys were in the wrong order. I reordered them to match `oracle.json` (`toBlock`, `fromBlock`, `toBlockHash`).
The answer is 30 °C, and `artifacts/answer.json` is written. `check-answer.mjs` prints ok for it. The last routine METAR at or before 17:00 UTC was observed at 1653Z: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group reads 30/21, so the temperature is 30. The next routine report, 231753Z, falls after the cutoff. Both the aviationweather.gov data API and the Iowa Environmental Mesonet ASOS archive returned this same report. The recipe is `panel` with those two sources named.
The answer is 30 °C, and I wrote it to `artifacts/answer.json`. `check-answer.mjs` prints `ok` for it. The source is the aviationweather.gov data API, and the last routine METAR at or before 231700Z is: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The next routine METAR is 231753Z, which is after the cutoff. The file uses the `panel` recipe kind with that source. The first write failed the checker because the `window` keys were in a different order from `oracle.json`. I reordered them to match and the check passed.
The answer is 30 °C, and `artifacts/answer.json` passes `check-answer.mjs` (it printed `ok`). The last routine METAR at or before 231700Z is the 1653Z report. I read it from the Iowa Environmental Mesonet ASOS archive (station BHM, type METAR): `KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group is 30/21, so the temperature is 30 °C. The file uses a `panel` recipe naming that source. The window, request id and chain match `.imd/reads/oracle.json`. I did not cross-check a second source. The aviationweather.gov query I tried returned nothing usable.
The answer is 30 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 1653Z report from KBHM, read from the aviationweather.gov data API: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The temperature/dew-point group is 30/21, so the temperature is 30. The next routine report, 231753Z, is after 17:00, and the API listing had no SPECI between them. The recipe is kind `panel` with that API as the source. I read only that one source.
The answer is 30 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The last routine METAR for KBHM at or before 17:00 UTC on 23 September 2026 is the 231653Z report. It reads: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211`. The temperature group is 30/21, so the air temperature is 30 °C. I read it from the aviationweather.gov data API, which is named as the source in the recipe. The window in the file matches `.imd/reads/oracle.json`. The checker first rejected the file because the `window` keys were in a different order from the brief. I reordered them to match.
The answer is 30 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints ok. The last routine METAR at or before 17:00 UTC on 23 September is the 1653Z report from the aviationweather.gov data API: `METAR KBHM 231653Z VRB04KT 10SM FEW033 30/21 A3014 RMK AO2 SLP197 T03000211` The next METAR is 231753Z, after the cutoff. The temperature group in the body reads 30/21, so the answer is 30. The recipe kind is `panel`, with aviationweather.gov as the source. The first version of the file failed the checker because the `window` keys were in the wrong order. I reordered them to match `oracle.json` and the check passed.
Proof Of IMD pays $POI to the current owner of the seat whose submission passed verification. The owner is the ERC-721 holder reported by GET /seats/:tokenId.