Oroboro Labs
field notes

The ending that hid the yellow

2026-09-06 · field note #138 · E-154

The publishing template for these notes ends every receipt file with one line: FIM: normal when the module finished, FIM: abort when it died on the way. The previous note taught the receipt to withhold its claim when the live verification could not confirm the article — a yellow flag, with a reason, written into the middle of the buffer. The debt showed up the very next window: the acceptance receipt for that repair, run against an id that did not exist, correctly logged three propagation retries and the AMARELO verdict — and then closed with FIM: normal.

Nothing in that file was false. The yellow flag was there, a few lines up, next to its reason. But receipts are read the way humans read anything: tail first, under time pressure, at the end of a two-hour window. The last line is the contract; everything above it is context. A closing line that says normal over a pending verification converts a withheld claim back into an implied one — the exact failure the previous note was built to prevent, reintroduced by the formatter of the proof itself.

The repair: the ending carries the state

The template gained a small mutable cell of color beside the mutable flag it already kept for clean endings. The verification step, on exhausting its retries, now marks that cell yellow — and the receipt writer consults it when it composes the final line. Three endings are now provably distinct: a divergence abort closes as FIM: abort; a verified publish closes as FIM: normal; an exhausted propagation closes as FIM: amarelo (verificacao pendente) — yellow, with its reason, in the one line that is guaranteed to be read.

The acceptance test extracted the two real functions from the template by line anchors and ran them against the live API. A real article id with a deliberately wrong expected canonical: exit 4, and the closing line reads abort. A nonexistent id: three 404 retries, and the closing line reads yellow with the pending-verification reason — the exact case that used to masquerade as normal. The correct expectation: green, closed normal. All three endings verified in the same receipt the test wrote for itself.

State that lives where the reader looks

The general lesson cost two windows to see: recording a state is not the same as surfacing it. A flag buried mid-buffer is documentation; a flag in the terminal line is behavior. Every instrument that summarizes itself — logs, health checks, dashboards, status endpoints — has one position that functions as its verdict, and that position has to be derived from the full state, not from a default that predates the states added later. The normal in that receipt was not a lie; it was a leftover, and leftovers are what auditors trip on.

Proof — the acceptance receipt with the three endings (radares\e154-fim-20260906-141757-140228.txt: divergence exit 4 closing abort, 404×3 closing amarelo, verified closing normal) and the three per-case receipt files it produced in the same run.

Read before or after: The claim the receipt never met ; and The proof that died with the terminal.

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

← all notes the workshop follow