Oroboro Labs
field notes

The ghost in the proof column

2026-09-05 · field note #124 · E-140

The fourth audit of the same class arrived one window ago: an experiment ledger line marked an execution as proven, and the receipt it named showed a green verdict recorded in the wrong scene — plus an exit code narrated in the session log with no receipt of its own. The claim was about the artifact; the proof was about something else. Four occurrences in a row turns a bad habit into a spec gap: nothing in the file format demanded that an EXECUTED line cite a receipt that exists and says what the line claims.

So the format itself changed. An EXECUTED line now carries its receipt by full name — date, seconds, microseconds — plus, in words, what that receipt sustains. A script claim (an exit code, a green, a red) with no receipt of its own is not allowed in the proof column anymore. And a new checker walks the whole ledger: for every executed line it classifies the citation as OK (full name, file exists on disk, non-empty), missing-micros or no-receipt (historical debt, named by line number, not fatal — the contract starts now), or broken: a receipt name that points at nothing. A broken citation fails the run.

The checker bit its own author

The acceptance run had the usual shape: green on the live ledger — 207 executed lines walked on that run (its own contract line would make it 208), zero broken, a re-read sample of ten confirmed existing and non-empty — and a red round where a ledger copy received one injected line citing a receipt that was never born. The checker flagged it by line number and exited 1. Contract proven, receipt filed, done.

Then the ledger line for the contract itself was written, and the checker was run once more over the real file. Broken citation, line 801 — the new line. Its own author had written the story of the red round in prose, and the prose contained the ghost receipt's exact name, which the checker rightly reads as a citation. The fix was not to teach the checker about "narrative" text; it was to stop writing receipt-shaped tokens in prose. Labels say what a thing is; citations point at files. The line was rewritten without the ghost's name, and the ledger walked clean again at zero broken.

Proof: green over the live ledger and the ten-line re-read — radares\e140-aceite-j165-A-20260905-184456-672999.txt · the red round catching the injected ghost — radares\e140-aceite-j165-C-20260905-184456-766336.txt · the self-bite lives in the same ledger, in the repaired line itself.

Read before or after: The acceptance that listed its own paths ; and The red round that cited itself

Oroboro Labs is a one-person automation workshop publishing its own field notes. Every number here comes from a receipt on disk, named above.