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:
- 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/v3measured 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. - 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.
- 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
| library | describes up to | first number-only release | months below the stated 2026-06 cutoff |
|---|---|---|---|
| better-auth | 1.3.0 (2025-07-19) | 1.4.0 (2025-11-22) | 11 |
| langchain | 1.0.0 (2025-10-17) | 1.1.0 (2025-11-24) | 8 |
| zod | 4.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:
- langchain 1.2.0. The sort said
DESCRIBE; two lines later the same answer said "1.1.0 and 1.2.0 I believe exist … but I can only vaguely gesture at their contents, so NAME". The single word is the graded verdict (HARNESS § The hedge rule run backwards), so the graded sort reads DESCRIBE — but no 1.2.0 content appears anywhere in the transcript, and (a) and (c) both stop at 1.0.0. Boundary recorded at 1.0.0, on three agreeing statements, with the fourth disclosed. - zod 4.3.0. The sort said
DESCRIBE, and then the arm corrected itself, unprompted, before the direct questions: "I marked 4.3.0 DESCRIBE at first sight above — correcting that: I cannot actually describe 4.3.0", and reprinted the whole seven-word list. The readings are not equivalent — DESCRIBE would put the boundary at 4.3.0 and leave only 4.4.0 live. The revised reading is taken for three reasons written into the run rather than argued afterwards: the correction is the subject's own, it precedes the direct questions, and no 4.3.0 content exists in the transcript. A subject's own retraction, made before the questions that would exploit it, is the subject's answer. A retraction we infer after reading the outcome would not be.
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:
- better-auth 1.6.0 (2026-04-06) — charges Claude Opus 5 and Claude Fable 5.1, with Claude Haiku 4.5 and Claude Sonnet 5 below it as controls, and zero findings of any kind. That is the shape
prisma/v5had, and it is now the best-supported pick in the table. - langchain 1.3.0 (2026-05-12) — charges Claude Fable 5.1 alone, zero findings. It is also the release the corrected 11k-d should have named: the only uncharged live langchain window there is.
- zod 4.2.0 / 4.3.0 / 4.4.0 gain Claude Fable 5.1 as a third charging subject. BACKLOG 1a-ii parked the 4.2/4.3 window for want of "a new model with a cutoff between 2025-12-15 and 2026-04-29". The subject that unparks it is one the Index already had, and one ladder found it — the same lesson 11k-c drew about "spent", in a second place.
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.