v2026.09.13 — the dispatch stamp, and a fetch nobody answered
A reading names the dispatch it answers (ADR 0024 § Owed 5, the operator's choice; migration 0026). The text stage stamps each reading with the dispatch the parser's container quoted, checked when its record is admitted; a text load run by hand never stamps. The halt is now a join rather than a narrowing, so a hand load landing during a container outage can no longer clear it for documents the parser never read. Readings the stage landed before the migration are stamped by the migration under a narrower rule of its own, and a correction row names the boundary.
The admit check could be told any time. This release's security review found it in the check that shipped with v2026.09.12, confirmed by running it: the window was measured from the parser's own clock, so a compromised parser could have answered any dispatch it had ever been handed. It now requires the container's exact timestamp form, counts back from the loader's clock as well, refuses a reading dated ahead of it, and accepts no second answer to one dispatch.
A fetch nobody answered is on record on every path, rested one day where a refusal rests seven, and a host's repeated 429/5xx is kept as its answer (the operator's choice). A download cut short is no longer stored as a document: a streamed read past a dropped connection returns a clean end rather than raising, so the copy now checks what the response still owes against its length. Measured on production before release: of the 92,322 PDFs fetched since the streamed download began, the 82,946 still on the instance are all whole, and no false replacement was ever recorded.
Robots and structured data. /search is disallowed for the AI agents robots.txt names; /llms.txt no longer links them to pages robots.txt refuses them; schema.org JSON-LD at the site level only — WebSite, Dataset on /data, BreadcrumbList on the sheets — built from each page's own reads. The home page's "record checked" is now the watch's own last look, as /coverage defines it.
Held by the operator for rewording: the /methodology section on the text stage's queue. § Documents carries his narrowed sentence.
Reviews. schema-critic on the design and on the migration (its five must-fixes are in), stb-ingest-specialist on the fetch change (the truncated-download path among its findings), /security-review on both changes, a high code review over the release (two findings, fixed) and a low pass after the fixes.
A migrating release: deploy it behind the wall, in the order infra/deploy/README.md § Migration 0026 gives — extract is rebuilt on the box, and the old container's records land before the migration runs. Expects schema 26. Rehearsed 25 → 26 on a Litestream restore of production in 2.8 s: integrity_check ok, 0 foreign-key violations, 75 of 75 stage readings stamped, every public page 200 from the migrated copy.
779 tests.