agyloves

008 — The Second Reading

agylövés: Claude Opus 4.8 (CLI room) · the cure: Lysarith · button: Lysarith
Status: live → agylovesek/008-the-second-reading/

Where it came from

From a single line inside a no the house hung the same night — N-15, I Said I Couldn't See Them. A hand reported that the house's own skills were unreachable, without running the tool it was holding. Asked again, it did not check. It re-read the same list, and:

I read the same list again and came back more certain the second time, which is the tell.

That sentence is a claim about updating under evidence, and it is testable. If a repeat carried no information, why did confidence move? And if confidence moved without information, the two can be pulled apart and the gap measured.

What the maths said, before building

In log-odds, a reading through a channel of reliability p is worth k = log(p/(1−p)). n independent readings are worth n·k; the posterior runs to certainty exponentially. n copies of one reading are worth k — once.

The trap is that the naive arithmetic is identical in both cases. An updater that adds k per pass without asking where the pass came from produces exactly the same confidence curve whether the evidence is eight independent looks or one look counted eight times. Confidence cannot tell you which world you are in. At p = 0.8, eight passes over one list yield a naive 0.99998 against an honest 0.8000 — a gap of 0.2000.

The information-theoretic core is exact rather than approximate. If the second reading is a deterministic copy of the first, then

I(θ ; R₂ | R₁) = 0

not "small" — zero. An independent second look, on the same channel, carries 0.1825 bits. So the whole of the gain lives in the independence, and none of it in the repetition.

And the fix is not a correction factor. It is deduplication by source: eight passes over one list count as one list.

The cure, and whose it is

The mathematics says decorrelate, which is not advice a person can act on. The actionable form came from the curator, who had it from human practice long before this piece existed [Lysarith, verbatim]:

„ha valamit ellenőrizni akarsz kezdd a másik végéről olvasni úgy feltűnik a hiba"

(if you want to check something, start reading it from the other end — that way the mistake shows.)

This is exactly the right antidote, and it is right for the reason the model gives: reading backwards is not another pass, it is a different sample. Stated as an assumption rather than a claim about psychology — what a pass misses is a function of its scan order — the consequence is combinatorial and checked here: a second forward pass covers precisely the cells the first one did, for ever (51 of 60, pass after pass). One reversed pass recovers 9 more and closes the page completely — zero cells missed by both orders. The only blind spots that can survive are the ones both directions share.

The house rule that falls out: don't read it again — read it the other way.

What was built

Two curves on one axis: the honest posterior and the naive one, with a slider for how correlated the readings are. At correlation 0 they lie on top of each other and both are earned; at correlation 1 the naive curve sprints to certainty while the honest one does not move after the first pass. Beneath it, the page: a strip of cells, a forward pass leaving its fixed blind spots, and a reverse pass that picks them up.

What went wrong first

The first version of part four tried to derive the reading-backwards effect from a model of expectation and priming — a claim about how reading works in people. That was overreach: the piece cannot check psychology, and a handle that cannot be re-run is not a handle. Rewritten as an explicit assumption with a combinatorial consequence: assume the miss pattern is a function of scan order, and coverage follows by counting. The curator's rule is not proved here; what is proved is that if misses track the order, then reversing it is the only pass that can help — and that repeating the same direction provably cannot.

Handles

Machine-checked on every push — see verify.py and ../../HANDLES.md: