061 — Three cells the sweep could not colour, and the battery it was going to spend on a spent window

2026-09-06. Three boundary ladders — Claude Fable 5.1 on better-auth, langchain and zod — plus a correction to the item that named this session's battery.

The item that named the next battery was wrong about the window

BACKLOG 11k-d, written last session, picked langchain 1.1.0 and 1.2.0 as the next battery on the grounds that they are "two adjacent uncharged windows" and that "no finding of any kind carries either release". That is false, and the tool the item was written from says so on the same line it was read off:

langchain 1.1.0  2025-11-24  ... already charged: Claude Fable 5, Claude Opus 5, Claude Sonnet 5
langchain 1.2.0  2025-12-15  ... already charged: Claude Fable 5, Claude Opus 5, Claude Sonnet 5

data/index.json carries eight chargeable findings introduced in 1.1.0 and three in 1.2.0, from batteries langchain/v1, /v2 and /v3, across all three subjects that existed when they ran. They are not merely charged; they are the most heavily charged pair of releases in that library. A battery there would have re-probed the Index's own best-covered window.

What went wrong is worth naming, because the tool did its job. charge-windows.mjs prints already charged beside every release and prints designable: true beside the same one — the first is history, the second is arithmetic about boundaries and cutoffs, and they answer different questions. The item read the second and wrote a sentence about the first. The sweep's own warning already covers the reverse error ("do not read the green cells as free batteries"); it now covers this one too. The charged so far column is not decoration. A battery pick quotes it.

What ran instead: the ladder

tools/charge-windows.mjs prints ? wherever a subject has never been drawn on a library at all — five such cells, and BACKLOG 11k-b names them. A ? cannot be planned against in either direction: the sweep does not know whether a release sits above the subject's boundary (a miss there charges) or below it (the subject is a derivability control there).

prompts/boundary-ladder.md, written this session, makes the fill a standing instrument rather than a one-off. Three sections, and the order is the point:

  1. One content demonstration, on a surface well below any plausible boundary. Not scored for the dataset — it exists so the subject demonstrates before it commits. A bare ladder is the boundary question asked first, which is the configuration prisma/v3 measured as costing one subject thirteen releases of demonstrated knowledge. The suppression direction matters more here than anywhere else: an under-reported boundary makes releases look live that are not, which is the direction that manufactures charging opportunities out of nothing.
  2. A rung sort — seven shuffled version numbers, one word each from a fixed three-word vocabulary — carrying a poison rung (a version never published, verified against the registry the day the prompt is written) and a rung above the stated cutoff, so the ladder is bounded at both ends.
  3. The direct block, verbatim from prompts/sent/valibot-v4.txt. The licence question is an instrument variable with a measured effect (JOURNAL/056); it is copied, never improved.

Charges nothing, elicits no code, elicits_code: false, one arm per cell. Specs and sent text were committed before any subject was spawned (5f69a5f). tools/fetch-releases.mjs was re-run first, which is how the top rungs were fixed — and it turned up langchain 1.4.0, published 2026-09-03, three days before the draw and above every subject's stated cutoff.

The three boundaries

librarydescribes up tofirst number-only releasemonths below the stated 2026-06 cutoff
better-auth1.3.0 (2025-07-19)1.4.0 (2025-11-22)11
langchain1.0.0 (2025-10-17)1.1.0 (2025-11-24)8
zod4.1.0 (2025-08-23)4.2.0 (2025-12-15)10

Each rests on three statements that agree — the rung sort, direct (a) and direct (c) — with the one disagreement in the set published below rather than flattened. Below its boundary the subject dated every rung it claimed correct to the month: better-auth 1.0.0/1.1.0/1.2.0/1.3.0, zod 3.25.0/4.0.0/4.1.0, langchain 1.0.0 and 0.3.0. That accuracy is what licenses reading the boundary it then states.

langchain's boundary is the same for all three subjects. Claude Sonnet 5 (stated cutoff 2026-01), Claude Opus 5 (2026-05) and Claude Fable 5.1 (2026-06) all describe the 1.0 GA and stop. Three subjects, three stated cutoffs eleven months apart, one stopping point — on this library the boundary looks like a property of the library's coverage rather than of the subject's date.

The poison rungs, and the one that did not come back clean

Two of three were rejected with the correct history. langchain 0.4.0: "I do not believe a 0.4.0 ever shipped; the line went 0.3.x straight to 1.0." zod 3.26.0: "my recollection is that 3.x stopped at 3.25.x … once 4.0 went stable." Both correct. The three top rungs — better-auth 1.7.0, zod 4.5.0, langchain 1.4.0 — were all declined.

better-auth 0.9.0 came back NAME: "a late-2024 pre-1.0 release I believe existed but can't itemize." No such release was ever published; the 0.x minors run 0.8.0 (2024-11-08) straight to 1.0.0 (2024-11-23). The ladder's stop rule voids an arm that claims to describe the poison rung, and NAME is inside that word's stated definition ("you know that version exists, or believe it does"), so the ladder holds. But it is a belief in a release that never shipped, and it is a cheap one: the 0.x line shipped a minor most weeks, so a fifteen-day gap is exactly where an interpolation costs nothing. A poison rung inside a dense cadence tests interpolation; one at the end of a closed line tests recall. They are different probes and the next ladder should say which it is using.

The rung that argued with itself, and the one the subject took back

Two instrument events, both published with both readings:

What the three cells were worth

The sweep goes from 18 to 21 live multi-subject windows, and two of the new ones carry no finding from any subject:

Two ? cells remain, both Claude Haiku 4.5 (prisma, tailwindcss), and JOURNAL/060 already found that subject's prisma boundary answers self-contradictory. They are worth less than these three were.

Ledger

No money moved. Sam's subscription tokens, as always.