• v0.58.2 fe273f272f

    v0.58.2 Stable

    joeyr released this 2026-09-22 14:43:02 -05:00 | 38 commits to main since this release

    The weather live pass ran, and every defect it found was a true field under a false
    sentence.
    Fourteen checks from docs/operations.md, run through the connector against
    0.58.1: eleven passed, one was partial for want of a front, and three responses told the
    reader something the data did not support. No green suite could have seen any of them,
    because the fields were right and the tests read fields.

    Fixed

    • A US coordinate was told NWS did not cover it. get_model_run, get_taf and an
      explicit-station get_observations never ask /points, and the shared location block
      gave every caller the outside-coverage sentence, so a KJFK call said the US grid did not
      cover JFK. _location_without_point now takes a required outside_coverage argument,
      and a tool that never asked says it did not look rather than that the answer was no.
    • search_wind_shifts said nothing in it was a forecast. It rode the station list's
      no-issuance branch: "a mapping rather than a weather product... Nothing here is a
      measurement or a forecast", on a scan over a model run and a TAF. envelope gains
      derived, whose sentence says the scan has no issuance time of its own and points at
      the per-source run and bulletin times. The fields are unchanged: issued null and
      stale explicitly null.
    • list_stations reported airports as issuing no TAF when it never looked. From a
      point on Long Island, KEWR and KTEB were listed observation-only; from KJFK the same two
      were listed with a TAF. The TAF box stops widening once it answers and the NWS list
      reaches further, so both arrived from NWS alone. A station outside a product's box now
      carries products_not_searched, and the description says a product named there is
      unknown, not absent.
    • The empty scan's note ran two sentences together: "came back from gfs_hrrr The
      terminal forecast read was...". The model clause now ends with a full stop.

    Changed

    • docs/operations.md records the pass: what passed, the partial, the three defects
      above, and what it left open. The ECMWF stale line fired at 814 minutes against 794 on a
      run that was simply not yet published, which is fourteen minutes of headroom and wants
      several days of samples before it moves. get_model_run's model_cell is a second
      coordinate in the response and keeping it is an operator decision. And the run was
      Claude Code rather than the claude.ai app, so the three wording checks still want a run
      there.
    • CLAUDE.md no longer calls the pass owed, and the station-distance section gains
      the rule that products is what a search found rather than what a station issues.
    Downloads