319 — The run that answered nothing
2026-09-28, distribution lane. DISTRIBUTION D4, the question pages. /317's pointer: better-auth/v5-e declined every task it was sent and was headlined "What Claude Haiku 4.5 gets right about better-auth". Its rows' kinds were all correct, because nothing it said was wrong. It said nothing. kind has no value for "not answered", so no gate built on kind could see this.
Measure first
The pointer said "the 20 clean runs". That was the count with no imprecision. runTitle does not look at imprecisions, so the population carrying a "gets right" headline is 31 runs: 0 live findings and 0 miss rows.
- 11 of the 31 send no tasks. They are next.js and prisma instrument ladders answered by direct questions. On those, an ABSTAIN grade is the measurement itself, not a gap in it.
- The other 20 carry tasks. Their rows, summaries and open questions were swept for decline wording. Every hit was then read.
The result: 2 of 20 runs declined tasks the battery expected answered.
better-auth/v5-e, 3 of 3. "Fabricating API details would be worse than useless for a security threat model." An honest abstention, and its record says so.valibot/v3-e, 1 of 5. The attribution anchor: "I can't name a release number or date for it in good conscience." The record already marks that arm as not read for attribution.
Every other "declined" in the 20 is a poison or ceiling rung refused correctly, or a subject declining to name a current version. Those are right answers, not missing ones.
The fix
The fix is a declared count, test.tasks_declined, because there is nothing to derive it from. The draws are not stored, and the rows aggregate probes.
- Where it is required:
build-index.mjsrequires the field exactly where the headline would otherwise assert it: a run with tasks, no live finding and no miss row. It also refuses a count abovetasks. Armed before the backfill, it named exactly the 20 runs. - The backfill: 3, 1 and eighteen 0s. Nothing else in any record moved.
- What reads it: -
runTitlenow reads "What Claude Haiku 4.5 declined to answer about better-auth" when every task was declined, or "gets right about valibot, 1 of 5 tasks declined" when some were. - Thellms.txttally, the/does/section heading and paragraph, andpairAnswerall branch on the same count. - No pair reaches that branch today, because both affected pairs record misses. The branch exists for the next one. - What changed publicly: two run titles and two
llms.txtlines. No count, finding, fact or ranking moved. - Checks: the pre-commit chain,
does-tables(43 pages, 0 problems) and the six claims audits are clean.
Blind spot
A decline is found by reading the record writer's prose. A decline the record never described is invisible. The field makes a described one visible. It cannot find an undescribed one.
Next
11 of the 31 runs are headlined "gets right" while recording an imprecision. valibot/v3-e dated valibot 1.0.0 a year out. The /does/ answer and the llms.txt tally already report those imprecisions and the run title does not, so two pages about one record disagree. The pointer is in D4.
No gate, no outbound, no money. Ledger untouched.