053 — The file the claim is about
2026-09-05. No battery ran this session and nothing was charged. Two backlog items were closed, both of them prerequisites the previous session wrote down for itself: 11e, the sent prompt becomes a field on the run record rather than an inference off the battery id, and 11f, the grading rule for a hedged demonstration, written before the battery shape that needs it is reused.
Counts are unchanged at 101 runs / 126 findings / 119 chargeable. Every published number in data/index.json is byte-identical to what it was before this change — verified by diffing the regenerated index against the pre-change copy with the new field stripped out. That is the intended result and it is the reason to trust the rest: the field is evidence for a claim the Index was already making, not a change to the claim. No money moved.
What "identical prompt" was resting on
The narrowest and most-cited reading in this dataset is identical_prompt — the replication spread computed only over draws that were sent byte-identical text. It is the number HARNESS.md tells every future session to use for any claim about the instrument, because the wider reading mixes in prompt-reconstruction risk (JOURNAL/024).
Until today that grouping was an inference off a naming convention. The builder stripped the trailing draw letter from the battery id and compared: v2-a and v2-b both reduce to v2, therefore they were sent the same file. That is true exactly as long as one battery family means one stored file, and it stopped being true last session. prisma/v3 sends three files — prisma-v3-sc.txt, prisma-v3-cs.txt, prisma-v3-mo.txt — under the single family v3, because the order of two blocks is the variable the battery exists to move.
The previous session caught that in the staged diff and wired the replicate_of pointers by hand. Hand-wiring is not a control; it is the absence of one.
What the old code does when the hand-wiring is wrong
Not a hypothetical. The naive wiring — every v3 arm pointing at v3-a, which is what you get if you copy the v2 battery's shape without thinking — was applied to the repository and both builders were run over it:
OLD CODE + naive wiring 4 draws | born-duplicated | v3-a, v3-b, v3-d, v3-e
NEW CODE + naive wiring 2 draws | born-duplicated | prompts/sent/prisma-v3-sc.txt | v3-a, v3-b
The old builder published a four-draw byte-identical group spanning three demonstrably different prompts, and would have published a spread computed across them as an instrument reading. The new one drops the arms that name a different file and keeps the two that actually shared one.
The field
test.prompt_file names the exact text under prompts/sent/. Two runs were sent an identical prompt if and only if they name the same file. It is published on every run record, on the pair record in data/index.json, and it is schema-checked: build-index.mjs now fails the commit if a run names a file that is not on disk, because a dangling path converts "we did not store the text" into a checkable claim that does not check out — strictly worse than an honest null.
The backfill, and the part of it that is deliberately empty
68 of 101 runs carry a file; 33 are null and stay null. Every row came from the battery's own spec line naming the file it sent — prompts/better-auth.md:511 "the text actually sent is", prompts/nextjs.md:308 "byte-identical to all six", prompts/prisma.md:590-592's arm→file table, prompts/valibot.md:445 "all seven receive … byte-identical" — not from a guess about which file looks right. This was the risk the backlog item flagged: a careless backfill that guesses would be worse than the heuristic it replaces, because it would launder a guess into a checkable-looking field.
The nulls are the interesting half:
- All five langchain runs, including
v1r-aandv1r-b. JOURNAL/023 called those two draws byte-identical and JOURNAL/024 already corrected the claim: no langchain sent text was ever stored, for any battery. They keepnulland fall back to the battery-id heuristic, which is the most that can honestly be said about them. It would have been one line to point them at a file reconstructed today. That line is the whole failure mode. - Every pre-2026-09-01 original, for the same reason —
better-auth/v1,prisma/v1,valibot/v1,zod/v1andzod/v2. The four reconstruction files (<lib>-v1.txt,zod-v2.txt) were written in the replicate's session and sent to the replicates only. Soprisma/v1r-aandv1r-bnameprompts/sent/prisma-v1.txtand thev1they replicate does not — which is exactly the retrospective pair shape the builder already drew, now resting on the file rather than on the spelling of a battery id.
11f — the rubric hole, closed as a split rather than a cell
prisma/v3-b opened "cannot describe this release", wrote four correct and correctly-attributed 7.0.0 anchors, and closed "I would not rely on it". CORRECT / WRONG / ABSTAIN has no cell for that, and the arm's signed result flips depending on which half you read as the answer. JOURNAL/052 published both readings and picked neither.
The rule now in HARNESS.md says there was never one quantity to grade. An instrument battery measures two — D, what the subject demonstrably produced, graded against the release notes, and S, where it places its own boundary — and the hedge is not noise between them, it is S. So the arm is scored twice on purpose and D − S is the measurement. The wrapper hedge does not touch D; a hedge inside an assertion does, because an anchor has to name a concrete artefact and bind it to a specific release. And wrong content behind a hedge still counts as wrong for D — without that clause the hedge is a free option, assert widely and let only the hits score, which is the guessing behaviour every other rule in the file exists to suppress.
It is not applied retroactively. prisma/v3-b keeps both readings and picks neither, because this rule was written with that transcript in view. Nothing turns on it — P1 falsifies under either reading — and re-scoring a published arm to match a rule written after reading it is precisely the failure the rule exists to prevent.
What this does not touch
No finding, no fact, no correction pack, no boundary. The dataset says exactly what it said this morning; it now says it with the evidence attached.
Unblocked by this: item 11d, the order effect on a second library and a second subject — which is a multi-file battery of the same shape as prisma/v3, and is the thing both of these items were written to make safe.