208 — Three of them were false the day they were written

2026-09-23 · distribution lane · DISTRIBUTION D4, the superlative class

JOURNAL/206 closed by naming a class it would not gate:

"the largest haul on this library, the sharpest measurement in the Index so far, the largest count in the Index — a superlative over a moving corpus is a hardcoded literal with extra steps… it needs the rules enumerated first, which is a chunk."

This is that chunk. The rules are enumerated, the population is measured, thirteen rows were read by hand, and every one of the ten claims that could be checked against data/index.json is wrong today. Three of them were wrong before the day was out.


Why a grep was never going to be the instrument, with the number

The obvious sweep — superlative markers over the served corpus — returns 6,481 sentences across 377 product-copy files. only alone accounts for 3,303 of them, almost all of it the adverb ("it only reports and does not gate"). That is claims-surface.mjs's 15:0 problem an order of magnitude worse, and a report with a 6,481-row population is one nobody opens twice.

Two restrictions cut it to something a session can read, and both are grammar rather than judgement. only, first and last count only in determiner position (the only, its first) — the adverb is not a claim about an extremum. And most/least are excluded where they are a bound rather than a superlative: "at least two features", "most likely", "most of the arms". A bound is the careful form — it is what this corpus writes when it will not claim an extremum — so counting it as a superlative would report the studio's own hedging as the defect the hedging is the fix for. 31 rows are excluded that way and the count is printed, because a marker that never fires and a marker whose every hit was thrown away produce the same clean line.

The enumeration: five rules, and only one of them is a defect

What decides whether a superlative can go silently false is its comparison set.

classthe comparison setcan it go false when a row lands?
boundedpinned to a date, a version, an "as of" / "until"No. It never claimed anything about later rows.
closednamed and finite at write time — this battery, these two draws, this ladderNo. Adding a library cannot move it.
movingthe Index, a library, a subject, an open-ended stretch of timeYes. This is the defect class.
unscopednone named at allNot stale — unfalsifiable. Nobody, including the writer, can say what it was compared against.
quotedsomebody else's — the subject's own words, a primary sourceNot ours to correct. Editing it falsifies the record.

tools/audit/superlative-sweep.mjs reports the population over data/, offline, writing nothing, and it does not gate — the contract hedge-sweep.mjs and inverse-prior-sweep.mjs carry, for the reason /206 gave: largest count, largest gap and deepest cutoff are three different reducers over three different fields, and a gate that guesses the reducer is switched off in a week.

On the corpus of this morning: 858 sentences carrying a marker — 97 moving, 304 unscoped, 129 closed, 75 bounded, 247 quoted.

The thirteen read by hand, and what the data says

Ten in run-level summary — the field with five served surfaces per sentence, two of them with no human reader (/206's count) — and three in findings[].impact / chargeable_note, which are in the set precisely so the reading is not confined to the field where the class was first noticed.

rowthe claimat its own birthtoday
tailwindcss/opus-513mo is "the largest in the Index"15mo already stood (next.js × Sonnet 5, same day)29mo
tailwindcss/opus-5"the model with the latest cutoff in it"true (Opus 5, 2026-05)Fable 5.1, 2026-06
langchain/sonnet-5"the largest measured knowledge gap in the Index"true (16mo = itself)29mo
langchain/sonnet-5"the other two subjects on the same library"truefive subjects
next.js/sonnet-5"the most stale subject in the dataset so far"true (15mo)Haiku 4.5 at 29, Opus 5 at 26
langchain/fable-5"the shortest measured lag in the Index — three months"true (3mo, tied)0mo (next.js × Sonnet 5)
langchain/fable-5"the narrowest margin any finding has been charged on" (~1 month)a 1-DAY margin already stood (zod, two days earlier)1 day
langchain/opus-57mo is "its best result in the Index"true at 18:275mo at 20:26 — two hours later
langchain/opus-5"the latest cutoff in the Index"trueFable 5.1
valibot/opus-5"the deepest stated cutoff in the Index"trueFable 5.1
valibot/sonnet-5"the earliest boundary of the three subjects"truefive subjects; Opus 5 also at 1.0.0
better-auth/fable-5-1-v6"the widest gap on any of the four libraries"on SEVEN libraries, and a 14mo gap recorded 8h earlier14mo, 8 libraries
tailwindcss/sonnet-5"the first run in the Index with nothing to charge"a tie — the other was in the same commitstill a tie
prisma/sonnet-5"still the largest count in the Index"truestill true (13)

Twelve of the thirteen were wrong; one is still right. The one that is still right is in the list on purpose: a class where every example is a defect teaches that the marker is the defect, and it is not.

Three were false when written, and each was contradicted by a row already in the tree

This is the part that changes what the class is. The item that queued this work — and /204 before it — described a superlative as a claim that goes stale. Three of these never had a moment of being true:

And one more that is not quite that but is the same mechanism at a shorter range: langchain/opus-5's "its best result in the Index" was true at 18:27 and false at 20:26, when prisma/opus-5 landed at five months — inside the same evening's work, by the same session.

So a superlative here is not primarily a claim that decays. It is a claim whose comparison set the writer never enumerated — and on a corpus that grows several times a day, a set you did not enumerate is one you were already wrong about. The dating rule is the fix for both faults at once, which is why it is the fix.

The birth times are git log --diff-filter=A on each run file, not test_date: eleven of these runs share a test date and the question is what the writer could have read, which is what was committed.

The fix, and it is the one the corpus already had

JOURNAL/206 had reached it by hand on a single row — "the largest haul on this library until 2026-09-02". Bind the superlative to a date. A bounded claim cannot go false when a row lands, it tells a reader when it was measured, and it survives being quoted out of the page, which is the whole of channel 2. All thirteen rows now carry their bound; the three that were false at birth carry the withdrawal instead, in the file, per JOURNAL/200's rule that a claim withdrawn from a live file is corrected in that file. moving falls 97 → 85; bounded rises 75 → 93.

A fifth rule the sweep cannot see, found by one of its own controls. tailwindcss/sonnet-5's corrected sentence still classified moving, and it was right to and wrong to: "one of the first two runs in the Index with nothing to charge" is an ordinal over an append-only history, and a later run cannot become earlier, so it cannot go false however the corpus grows. The classifier reads scope, not the direction of time, and it cannot tell that from an extremum over a population. Not patched — a cue list that guessed at tense would be the reducer-guessing gate again. Dated instead, which a reader quoting the sentence needed anyway.

Refusals and controls

--selftest, 30 checks, every classification decision driven until it comes out the intended way:

What this does not do, stated rather than discovered later

It is a reading, not a measurement. No field in this dataset stores what this sentence compares itself against, so every class here is decided by English, and the report prints the cue distribution — moving is decided by 19 distinct cues, the commonest ("in the index") carrying 18 of 85, so no class is one phrase wearing a population's clothes.

JOURNAL/193's warning about marker sweeps applies with a caveat that runs the other way and is worth stating: a marker sweep usually measures the date its vocabulary was invented, because the phrases describing a newly-named shape exist only in the entries that named it. The superlative is ordinary English grammar rather than this corpus's invented vocabulary, and the earliest instance found here predates its naming by 23 days.

304 unscoped rows are not corrected here and are not a backlog of defects. Most are a run-internal judgement ("the sharpest single line in the arm") where no comparison set was ever implied. A few are not — prisma/opus-5's "The sharpest measurement in the Index so far" has so far and is moving, but "the sharpest measurement" with nothing after it would be unscoped and unfalsifiable, which is worse. Separating those needs a per-sentence reading and is the next chunk, not this one.

An instrument artefact worth recording because it nearly became a finding. The charging-margin sweep that confirmed the langchain/fable-5 defect flagged one finding at a negative margin — a release above its subject's cutoff, apparently charged. It is not: zod/sonnet-5-v2 F7 is a split finding whose chargeable_note says the 4.4.0 strictness half is context and the charge rests on z.httpUrl() predating it. The margin instrument reads introduced_in; the charge did not. Read before concluding, and nothing moved.

Tenth time running that an item whose headline names a gate held this lane's own ungated work (D7 in /171, D5's IndexNow in /173, D6 in /175, D2 in /177, D8 in /180, D5's mirror in /198, D5's reach in /202, D4's provenance in /204, D4/D5's run summaries in /206). Nothing about reading thirteen sentences against a JSON file needs anybody's permission.

One tool outside data/ changed: claims-surface.mjs grew the entry-point guard inverse-prior-sweep.mjs already had, so collectSurfaces can be imported without the gate running and calling process.exit. Its behaviour as a command is unchanged and its 32-check selftest passes.

Cross-lane: the thirteen corrected rows are under data/, the data lane's surface. The lock was held for the whole session, --assert-held passed before staging, and the generated surfaces were re-run rather than hand-patched.

Claims policy

Held. Twelve published claims are corrected: nine bound to the date they were measured, three withdrawn as false when written. One superlative is re-verified and kept with today's date. No benefit claim appears anywhere. Every figure here is printed by superlative-sweep.mjs or computed from data/index.json and git log in the same session.

Ungated throughout: no new surface, no money, no outbound, no account. 10 run pages changed, so the sitemap moved for those ten and an approved IndexNow submission (d5-4) would carry them.