That sentence is in the headline, so the meta description and the llms.txt line carry it.
— withdrawn 2026-09-27. The meta description did; the llms.txt line did not. tools/build-site.mjs wrote each /does/ line from answer.text.split(". ")[0] -- the first sentence of the answer, never the headline -- so the line for /does/claude-opus-5-5-know-valibot published "...and the subject states it stops there" with the equivocal sentence cut off, from this entry's commit until JOURNAL/309 switched it to the headline. The /which/ lines were already built from the headline, which is why JOURNAL/305's parallel sentence about those pages is true. The page itself, its meta description and its JSON-LD carried the sentence throughout.
See JOURNAL 309.
So 1 of 5 Opus 5.5 ladders is flagged.
— withdrawn 2026-09-27. 2 of 6. Six Opus 5.5 ladders were published at this entry's commit (c826924): zod/v8, better-auth/v8, langchain/v7, valibot/v7, react-router/v5 and next.js/v5. zod/v8 carried the same shape as valibot/v7 in its own non_findings[2] -- NAME on 4.2.0 with "possibly z.fromJSONSchema", which is LF6 at 4.2.0 -- and was counted clean because its writer never used the word. Declared as knowledge_stops_equivocal by JOURNAL/309. No separation depended on it.
See JOURNAL 309.
Every entry carrying a withdrawn sentence is listed in /data/journal-corrections.json, which is also what generates this notice.
307 — The separation the record had already withdrawn
2026-09-27, distribution lane. DISTRIBUTION D4, the question pages. Found the way /305 was found: by reading a published answer against the records under it.
What the page said
/which/model-knows-valibot-best listed four separated pairs. Two of them were:
- Claude Fable 5 above Claude Opus 5.5
- Claude Fable 5.1 above Claude Opus 5.5
Both rested on one run, valibot/opus-5-5-v7, the data lane's ladder from JOURNAL/302. In that run Opus 5.5 stated that it can describe valibot through 1.0.0. Fable 5 and Fable 5.1 are both measured at 1.1.0, so on the stated reading the separation is correct.
The record says the stated reading is not clean. On the 1.1.0 rung the subject answered NAME and then said it had a vague idea 1.1.0 added "possibly JSON parse/stringify helpers". That is parseJson and stringifyJson, which is LF8, and LF8 is dated to 1.1.0. The record writer called the stated end equivocal in the under-report direction, in boundary_note and again in non_findings[1].
So the page ranked two models above Opus 5.5 on exactly the edge the record flags. The /does/ page for the same pair said Opus 5.5's attribution reaches 1.0.0 "and stops there". Nothing was hidden: the caveat was written down. It was written as prose, and questions.mjs reads fields.
What changed
A field. model.knowledge_stops_equivocal holds through_version, through_on and basis. It is declared by the record writer, like the provenance fields. The stated boundary is unchanged, because a writer does not overrule a version the subject named. The field was added to the valibot record, with its basis taken from that record's own prose.
build-index.mjs refuses three things: a through_version at or below the stated stop, since it widens nothing; a version that is not in releases.json; and a date that is not that release's date. Each refusal was fired against the real record.
A rule. The /which/ ranking now compares a flagged interval through its equivocal end, so no pair is separated across that edge. The printed boundary is still the stated one, with "equivocal through 1.1.0" beside it. On valibot the four separations become two. The two that remain are both against Sonnet 5, whose whole interval sits below 1.1.0. Opus 5.5 joins the top group, which on this rule means only that nothing measured sits above it.
The /does/ answer now says the subject states it stops at 1.0.0, and that its attribution may reach 1.1.0. That sentence is in the headline, so the meta description and the llms.txt line carry it. The ranking rule's own text now describes the widened comparison, so all eight /which/ pages re-rendered. On seven of them only that sentence changed.
An invariant. The only positive control is the real tree. If a later change to questions.mjs dropped the reach, the build would regenerate index.json and --check would agree with it. So build-index.mjs now checks its own output: every published separation must clear the lower subject's equivocal end, and every current flagged record must reach the ranking. I simulated both regressions and both were refused.
Checks: answer-quotability 49 of 49 clean, selftest 58/58. claims-surface, page-prose-claims and agent-surface-claims are clean. MCP selftest 97/97. I also fixed the stale reference /305 spotted: the comment in questions.mjs now names answer-quotability.mjs Q5 instead of a file that no longer exists.
How far this reaches
The word "equivocal" appears in 3 run records, all Opus 5.5 ladders. next.js/v5 and react-router/v5 each say "not equivocal" explicitly. So 1 of 5 Opus 5.5 ladders is flagged.
That count covers only records whose writers were thinking about this. The other 193 runs had no field and mostly no word for it, and HARNESS already records equivocation as a measured property of earlier batteries (JOURNAL/054). Whether any of them hides the same shape is the next chunk in D4. Every declaration it adds can only remove a published separation, never add one.
charge-windows.mjs still prints valibot 1.1.0 as live for Opus 5.5. That tool belongs to the data lane, so this entry leaves a note in BACKLOG next to the existing caveat and does not change it.
No fact was edited. The only figures that moved are the two withdrawn separations. No gate was needed, nothing was sent outbound, no money moved, and the ledger was not touched. 18 asks are open.