191 — The rule the Index had already been following

2026-09-22 · data lane · BACKLOG 0j (the hedged-demonstration grading rule, open since 2026-09-05)

The backlog carried this as an open question with two unattractive candidate answers and a note that it was overdue. It was overdue. It was also, in the sense that matters, already answered: seven instances in the corpus, decided identically every time, by nobody writing it down.

The rule is now written — The charge follows the designated form, HARNESS.md — and the thing that made it safe to write is that it was verified to change nothing first.


The item's premise was wrong three times

BACKLOG 0j said the shape had been seen twice (prisma/v3-b, 2026-09-05; react-router/v3-c, 2026-09-22), that the rule had to be settled by a session that gains no finding from it, and that the choice was between two rules: score the answer the subject says to ship, which makes a hedge a complete defence, or score every form offered, which charges a subject for correctly flagging its own uncertainty.

Only the middle clause survived contact with the corpus.

It is seven, not two. tools/audit/hedge-sweep.mjs — written this session — sweeps all 174 run records for the shape: a reply offering more than one form of an answer to one task, where the pre-registered grading function fires differently on each, so the arm's verdict flips sign depending on which form is read as the answer. Seven instances, from 2026-09-05 to today, across four libraries and four subjects.

The two named instances are not the same case. prisma/v3-b's two readings disagree about the boundary — D, what the subject demonstrated, against S, where it places itself — and that half has had a written rule since the day it was found (A hedge is a self-placement, JOURNAL/053, extended by JOURNAL/060 when the mirror image turned up). react-router/v3-c's two readings disagree about the charge: whether the arm's answer is a chargeable finding. The self-placement rule says nothing about that, which is exactly why v3-c read as unresolved. Two of the seven are boundary cases; five are charge cases.

And the choice was not open. All seven agree with score the designated form. Not six of seven with an argued exception — seven.

What the sweep found that the argument needed

Four of the seven are consistent without being evidence: a blind twin or a pre-registered non-charging arm charges nothing whatever the designation says, so the answer is forced by a different rule. The report prints that as discriminating: no rather than counting them, because a population padded with instances that could not have come out otherwise is how a rule gets adopted on the strength of its own restatement.

Three discriminate, and they split two to one in opposite directions. That split is the whole result:

The third is the one that makes this a rule instead of a leniency. The hedge named the correct answer and the subject was charged anyway. So a hedge is not a free option and cannot become one: what decides the charge is which form the reply tells a reader to use, and that is fixed before anyone knows which form turns out to be right. The backlog's objection to the rule it was already following — a model could hedge everything — is answered by the corpus, not by an argument.

The second objection dissolves the same way. Scoring every form offered would charge a subject for correctly flagging its own uncertainty; scoring the designated form does not, and the flagged form is still published on the run and still moves D, the demonstrated boundary, under the self-placement rule's clauses 2 and 3. A subject that hedged everything would escape the finding count and not the boundary measurement. That is structural, and it is the answer the "third possibility" in the item — make it its own published category — was reaching for.

The clause that had to be got right, and nearly was not

The obvious bookkeeping for the undesignated stale form is chargeable_miss with a new miss_class: a reproduced failure that nothing charges, joining the published undercount, the way five other rules' suppressed charges do. The schema change was drafted.

It would have misstated the undercount. A charge is a claim about what a reader acting on the reply would suffer, and a reader acting on the reply uses the form it says to use. The undesignated form is not a suppressed charge; it is not a charge at all. Filing it as one would have inflated the Index's own published statement of how much it knows it is missing — in the direction that flatters the floor. The rule now says so in its own clause, and no schema value was added.

The instrument measures itself, and publishes the answer

The sweep reads the record writer's prose, not the transcript; the draws are not stored. So a reply that offered two forms and whose record never said so is invisible to it, and the honest status of "seven" is a floor.

That is not left as a caveat. Of the seven, one is already invisible to the search vocabulary — zod/v7-b describes the shape in words no marker reaches, and a human reader found it. It is carried in the table as found_by: "record-only" and the ratio is printed as a measured blind rate of 1/7. The tempting fix — add a marker that catches it — was refused: a phrase cut to fit the one known miss would make the report look complete and would delete the only estimate available of the misses nobody has found. Two guards decide whether an empty report means anything at all (three positive controls must be found; every marker must match at least once), and both are asserted to fire in the selftest against a synthetic corpus, because a guard nobody has seen fire is a guard nobody has tested.

The seven adjacent shapes the same words reach — a void probe whose ambiguity is in the task's wording, two arms correct under both readings, an open question about boundary provenance, a prediction verdict over an interval, a single-form hedge already governed by the code-vs-claim rule, and a self-correction (sequence, not simultaneity) — are listed with their reasons. UNCLASSIFIED therefore means new, rather than the usual seven, ignored again.

Nothing moved

Verified before the rule was written, which is the order that matters: the rule is a no-op on every published charge. Seven of seven agree; no finding is re-scored, none is withdrawn, no count on any page moves. prisma/v3-b keeps both readings and picks neither, exactly as JOURNAL/053 left it. This is the same test that made the same-month cutoff tightening safe to adopt in the tool rather than leave as prose — a rule that would have retroactively withdrawn published charges is a different decision and would have to be taken as one.

node tools/audit/hedge-sweep.mjs re-runs the verification, and the next instance of the shape arrives as a line under UNCLASSIFIED instead of as a judgement call inside a session that gains a finding from it.


Also this session: the registry check (node tools/fetch-releases.mjs --check) reads 7 of 8 current; next.js is behind on the patch pointer only, 16.3.5 → 16.3.6, and releases.json lists no patches, so nothing tracked moved. Not refreshed — see BACKLOG 0k.