skill:oracle-assess
Answer this question about chain 1 over blocks 26051650 to 26051948 (closing hash 0x9145f1a5ec87a1a12630d8315d4d42da51b5f490af9494fa9e70ff97f1d39e06), exactly as .imd/reads/oracle.json pins it: What air temperature, in whole degrees Celsius, did the last routine METAR for KBTV (Burlington International Airport, South Burlington, Vermont) 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 KBTV (Vermont) 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
Completed [artifacts/answer.json](artifacts/answer.json) with answer `18` °C, raw Ogimet METAR evidence, and the panel recipe. Validator result: `ok`.
The checker prints `ok`. Answer: the last routine METAR for KBTV at/before 17:00Z on 2026-09-23 was `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`, giving **18°C** (from IEM's ASOS/METAR archive, routine-report filter). `artifacts/answer.json` is written and validated.
The archived routine METAR reports `18/07` at 231654Z, so the answer is **18°C**. The raw report and definitions are recorded in [artifacts/answer.json](/home/imd/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Source: [Iowa Environmental Mesonet ASOS archive](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=BTV&data=metar&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=23&tz=UTC&format=comma&latlon=no&elev=no&missing=empty&trace=T&direct=no&report_type=3); its documentation identifies report type 3 as Routine. The checker printed `ok`.
Created [artifacts/answer.json](/home/levi/imd/p6/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with the answer **18°C**, based on the 16:54Z KBTV METAR archived by aviationweather.gov. The required checker prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18°C. The required checker reports `ok`.
The answer is **18°C**, from the `18/07` temperature/dew-point group in the 16:54Z routine METAR. The raw report and source are recorded in [artifacts/answer.json](/home/levi/imd/p7/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The required checker printed `ok`.
Created [artifacts/answer.json](/home/debian/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with the answer **18°C**, based on IEM’s archived 16:54Z report: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`. The required checker printed `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The archived METAR reports `18/07`, so the answer is `18`. Validation passed: `ok`.
The answer is **18°C**, from the 231654Z routine METAR: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`. Saved in [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The checker prints `ok`. Source: [Iowa Environmental Mesonet ASOS archive](https://www.mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=KBTV&data=all&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=23&tz=Etc%2FUTC&format=onlycomma&latlon=no&elev=no&missing=M&trace=T&direct=yes&report_type=1&report_type=2).
The checker prints `ok`. Summary: found the last routine METAR for KBTV at or before 17:00 UTC on 23 Sep 2026 — `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` — confirmed via both aviationweather.gov's data API and the IEM ASOS archive. Temperature group `18/07` gives 18°C, written to `artifacts/answer.json` with a `panel` recipe, and `check-answer.mjs` passes.
Recorded **18°C** from the 1654Z routine METAR’s `18/07` group in [the Aviation Weather Center archive](https://aviationweather.gov/api/data/metar?ids=KBTV&format=raw&date=2026-09-23T17%3A00%3A00Z&hours=24). The raw report and source are in [answer.json](/home/levi/imd/p8/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The required checker printed `ok`.
The reported temperature was **18°C**. The latest routine report by 17:00Z was `METAR KBTV 231654Z ... 18/07 ...`; the body temperature/dew-point group gives 18°C. [Aviation Weather Center archive](https://aviationweather.gov/api/data/metar?ids=KBTV&format=raw&date=2026-09-23T17:00:00Z&hours=2) Wrote [artifacts/answer.json](/home/worker/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The required checker printed `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: `18` °C, from `METAR KBTV 231654Z ... 18/07 ...`. Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. Validated successfully: `check-answer.mjs` prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: `18` °C. The supplied checker reports `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. Validation passed: `check-answer.mjs` printed `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18 °C. The validation script prints `ok`.
Created and validated [artifacts/answer.json](</root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json>). Answer: 18°C. Checker output: `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18 °C. The required checker prints `ok`.
Answered **18°C** from the IEM archive’s 16:55Z routine METAR: `KBTV 231655Z AUTO 35004KT 10SM CLR 18/07 A3060 RMK T01800070 MADISHF`. The answer is saved in [artifacts/answer.json](/home/imd/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The required checker printed `ok`.
Checker passes. Answer: 18°C (from KBTV 231654Z METAR "18/07", IEM ASOS archive), written to artifacts/answer.json.
Checker prints `ok`, and `git status --porcelain` shows no stray files. Answer: 18°C, from the 231654Z routine METAR (`KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`) per the IEM ASOS archive — the 231700Z report was a 5-minute AUTO observation, not the routine hourly.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. The supplied checker passes: `ok`.
Completed [artifacts/answer.json](/home/imd-worker/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18 °C, from `METAR KBTV 231654Z ... 18/07 ...`. Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18` °C and IEM raw-METAR evidence. Validation passed: `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. Validated successfully: `check-answer.mjs` printed `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18 °C. Validation passed: `ok`.
The answer is **18°C**, from the 16:54Z routine report: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`. Source: [Iowa Environmental Mesonet ASOS archive](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=BTV&data=metar&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=23&tz=UTC&format=onlycomma). I wrote [artifacts/answer.json](/home/imd-worker/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with the pinned request window and panel recipe. The checker printed `ok`.
Answered **18°C** from the AWC raw METAR `KBTV 231654Z … 18/07 …`. The report and source are recorded in [artifacts/answer.json](/home/worker/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The checker printed `ok`.
The checker prints `ok`. Answer: **18°C**, from the METAR `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` — the last routine METAR at or before 17:00 UTC on 23 Sep 2026, confirmed via both aviationweather.gov's Data API and the IEM ASOS archive. `artifacts/answer.json` is written and passes `check-answer.mjs`.
Created [artifacts/answer.json](/home/imd/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18` °C and the archived IEM raw METAR evidence. Validation passed: `ok`.
Checker prints `ok`. Answer: **18°C**, from METAR KBTV 231654Z (18/07) via aviationweather.gov Data API — the last routine METAR at or before 1700Z on 23 Sep 2026. Written to `artifacts/answer.json`.
Created [artifacts/answer.json](/home/imdworker/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18` °C and the archived raw METAR evidence. Validation passed: `ok`.
Checker prints `ok` and git status is clean (artifacts/ is untracked/ignored, no stray files). Answer: 18°C, from METAR KBTV 231654Z (18/07), the last routine METAR at or before 1700Z, per aviationweather.gov's raw METAR history.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: `18` °C. The supplied checker prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18°C. Validation passed: `ok`.
Checker passes. The last routine METAR for KBTV at or before 1700Z on 2026-09-23 was `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` (aviationweather.gov data API), giving an answer of **18°C**. `artifacts/answer.json` is written and validated.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18` °C, sourced from the Aviation Weather Center METAR API. Validation passed: `ok`.
Checker passes and `git status --porcelain` shows no stray tracked changes (artifacts/ is untracked output, as intended). Answer: **18°C**, from the METAR `KBTV 231654Z ... 18/07 ...` (aviationweather.gov Data API), the last routine METAR at or before 231700Z. `artifacts/answer.json` is written and validated.
Created [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. The supplied checker passes: `ok`.
Checker prints `ok`, and `git status --porcelain` is clean (artifacts/ is untracked/output-only as required). **Answer: 18°C**, from KBTV METAR `231654Z ... 18/07 ...` (IEM ASOS archive), the last routine METAR at or before 231700Z on 23 Sep 2026.
The checker prints `ok`. Answer: **18°C**, from KBTV's METAR `231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` (IEM ASOS archive, corroborated by aviationweather.gov), the last routine METAR at/before 1700Z on 2026-09-23. Written to `artifacts/answer.json`.
The last routine KBTV METAR at or before 17:00 UTC was issued at **16:54 UTC** and reported **18°C** in its `18/07` temperature/dew-point group. I recorded the answer in [artifacts/answer.json](/home/imd/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). The required checker returned `ok`.
Checker prints `ok` and `git status --porcelain` is clean (artifacts/ is untracked as required). Answer: 18°C, from the 231654Z KBTV METAR (IEM ASOS archive).
Checker prints `ok`, and `git status --porcelain` is clean (artifacts/ is untracked output, not force-added). Answer: **18°C**, from the last routine METAR for KBTV at or before 1700Z on 2026-09-23 — `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` (aviationweather.gov data API). Written to `artifacts/answer.json`.
Checker prints `ok`, and `git status --porcelain` is clean (artifacts/ is untracked output, not tracked in git). Task complete. The last routine METAR at or before 17:00Z was `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` from the IEM ASOS archive — temperature 18°C, written to `artifacts/answer.json`.
Checker passed, git status is clean (artifacts/ untracked as expected). Answer: 18°C, from the KBTV METAR 231654Z ("18/07"), the last routine METAR at/before 1700Z, sourced from aviationweather.gov's Data API.
Checker prints `ok`, and `git status --porcelain` shows nothing outside allowed paths. Answer: 18°C, sourced from IEM ASOS archive METAR `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`.
Checker prints `ok`, git status is clean. Answer: 18°C, sourced from IEM ASOS archive METAR `KBTV 231654Z ... 18/07 A3060 RMK AO2 SLP364 T01780067`.
Checker prints "ok" and git status is clean. Answer: 18°C, from KBTV 231654Z METAR (18/07), per IEM ASOS archive.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json). Answer: 18 °C. Local validator result: `ok`.
Checker prints `ok`. The last routine METAR for KBTV at or before 17:00 UTC on 23 Sept 2026 was `KBTV 231654Z ... 18/07 ...` (IEM ASOS archive), giving 18°C. Answer written to `artifacts/answer.json`.
Completed [artifacts/answer.json](/root/.identitymd/work/99b8587c-0330-4d32-a8e7-597b91bd81d7/e8278a27-f2a8-4dc5-ba38-203493c5b250/artifacts/answer.json) with answer `18`. Validation passed: `ok`.
Checker prints `ok`, git status is clean (untracked artifacts/answer.json is the intended output). The last routine METAR for KBTV at or before 17:00Z on 2026-09-23 is `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` (IEM ASOS archive) — temperature **18°C**. Written to `artifacts/answer.json` and validated.
Checker prints `ok`, git status is clean. Answer: 18°C (from METAR KBTV 231654Z, temperature group "18/07"), written to `artifacts/answer.json`.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok`. The source is the aviationweather.gov data API. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 1654Z report: `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group is 18/07, so the temperature is 18. The next report, 231754Z, is after the cutoff. The recipe kind is `panel`, with the aviationweather.gov source named in it. I only looked at that one source; the Iowa archive rate-limited my request, so I didn't get a second confirmation.
Checker prints `ok`. The last routine METAR for KBTV at/before 231700Z was `KBTV 231654Z ... 18/07 ...` (IEM ASOS archive), giving 18°C, written to artifacts/answer.json.
The last routine METAR for KBTV at or before 17:00 UTC on 23 September 2026 reported 18 °C. I wrote that to `artifacts/answer.json`, and the checker prints `ok`. The report is `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067`, and the temperature is the 18 in the `18/07` group. It comes from the Iowa Environmental Mesonet ASOS archive, station BTV. The next report, 231754Z, is after 17:00 UTC, so 231654Z is the one that counts. The answer file's recipe is kind `panel` with that source. Its window is copied from `.imd/reads/oracle.json` in the same key order the checker requires, and the definitions state the METAR-versus-SPECI rule.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The source is the Iowa Environmental Mesonet ASOS archive for station BTV. The last routine METAR at or before 231700Z is the 1654Z report: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group reads 18/07, so the temperature is 18. The answer file uses recipe kind `panel` and names that source, with the raw report quoted in `notes`. The checker first rejected the file because `window` must list `toBlock` before `fromBlock`. I reordered the keys and it then passed.
The answer is 18 °C, and `check-answer.mjs` prints ok for `artifacts/answer.json`. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 16:54 UTC report. I read it from the Iowa Environmental Mesonet ASOS archive, which is the source named in the answer file: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group is 18/07, so the temperature is 18. It is a routine report with no SPECI in between. I read only that one source. The first attempt at the aviationweather.gov API returned "Invalid value for date", so I switched to the Iowa archive and didn't retry the first. The recipe kind is `panel`, and the window matches `oracle.json`.
The answer is 18 °C, and `artifacts/answer.json` passes `check-answer.mjs` (it printed `ok`). The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 231654Z report. I read it from the Iowa Environmental Mesonet ASOS archive (station BTV): `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The 18 comes from the `18/07` temperature/dew-point group in the body. The report has no `SPECI` marker, so it is a routine one. I only pulled this one archive, plus an aviationweather.gov query that only returned reports from 24–25 September, so I didn't cross-check a second source for 23 September. The checker first rejected the file because the `window` keys have to be in the order `toBlock`, `fromBlock`, `toBlockHash`. I reordered them and the second run passed.
The answer is 18 °C, and `artifacts/answer.json` passes `check-answer.mjs` (it prints `ok`). The last routine METAR at or before 231700Z is the 231654Z report. It is type METAR, not SPECI. I read it from the Iowa Environmental Mesonet ASOS archive (station BTV): `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group is 18/07, so the temperature is 18. The answer file uses the `panel` recipe with that source named, and the raw report is quoted in its notes. I copied the request id, chain and window from `.imd/reads/oracle.json`. The checker only accepted the window once its keys were in the order `toBlock`, `fromBlock`, `toBlockHash`.
The answer is 18 °C, and `check-answer.mjs` prints `ok` for `artifacts/answer.json`. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 231654Z report. I read it from the aviationweather.gov data API: `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group in the body reads `18/07`. The next report, 231754Z, is after 1700Z. The file uses the `panel` recipe with the API as its source. The window and request id are copied from `.imd/reads/oracle.json`. I used only that one source. The first check failed because the `window` keys were in a different order from `oracle.json`; I reordered them.
The answer is 18 °C, and `artifacts/answer.json` passes the checker (it printed `ok`). The last routine METAR at or before 17:00 UTC is the 231654Z report. The Iowa Environmental Mesonet ASOS archive (station BTV) gives it as: `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group reads 18/07, so the temperature is 18. I used the aviationweather.gov API only as a cross-check, and it doesn't reach back to 23 September. The recipe is kind `panel` with the IEM archive as its source. The first write failed the checker because the `window` keys were in the wrong order, and I reordered them to match `oracle.json`.
The answer is 18 °C, and `artifacts/answer.json` passes `check-answer.mjs` (it prints `ok`). The last routine METAR at or before 17:00 UTC on 23 September 2026 was the 1654Z report, read from the Iowa Environmental Mesonet ASOS archive (station BTV): `KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group is 18/07, so the air temperature is 18. The tenths in the T-group remark (17.8) were not used, per the definition. The aviationweather.gov query I tried returned an error, so this rests on one source, not two. The recipe is `panel` with that source named, and the request id, chain and window are copied from `oracle.json`. The checker first rejected the window because the keys were in a different order. I reordered them to match `oracle.json` and the check then passed.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok`. It passed on the second run: the first failed because the checker requires the `window` keys in the order `toBlock`, `fromBlock`, `toBlockHash`, which I fixed. The last routine METAR at or before 231700Z is the 231654Z report from aviationweather.gov (data API, `metar?ids=KBTV`): `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature group in the body reads 18/07, so the temperature is 18. The next report, 231754Z, is after the cutoff. The only SPECI that day before that time (231332Z) was ignored, as the definition requires. I read only that one source. The recipe is kind `panel` with the aviationweather.gov source. Chain and window are copied from `.imd/reads/oracle.json`.
The answer is 18 °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 1654Z report, read from the aviationweather.gov data API: `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature/dew-point group is 18/07, so the temperature is 18. The next METAR is 231754Z, which is after the cutoff. The SPECI at 231332Z is not routine, and there is no SPECI between 1654Z and 1700Z. The recipe kind is `panel`, with the aviationweather.gov source named in it. I first wrote the window keys in the wrong order and the checker rejected it. I reordered them to match `oracle.json` exactly.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker printed `ok` for it. The last routine METAR at or before 1700Z is the 231654Z report. I read it from the aviationweather.gov data API: `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The next METAR is 231754Z, which is after 1700Z. The SPECI at 231332Z is excluded. The recipe is kind `panel`, with that API query as the source. The request id, chain and window are copied from `.imd/reads/oracle.json`. The checker first rejected the window because its keys were in the wrong order, so I reordered them to match.
The answer is 18 °C, and `check-answer.mjs` prints ok for `artifacts/answer.json`. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 1654Z report, read from the aviationweather.gov data API: `METAR KBTV 231654Z VRB03KT 10SM FEW040 18/07 A3060 RMK AO2 SLP364 T01780067` The temperature group in the body is 18/07, so the temperature is 18. The next report, 231754Z, falls after the cutoff. The 231332Z SPECI is not a routine METAR. The answer file uses the `panel` recipe with that source and quotes the raw report in its notes.
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.