lab learnings · 6 notes
Lab Learnings
Patterns this lab learned the hard way, one page each. Every note names what went wrong, the rule that now prevents it, and a test you can run to prove the rule holds. Open any note.
- field note #1 observationalEvery ceremony you add must carry its own removal condition.
rule — every ceremony carries, in the same change, an observable removal condition: a count, a date, an event, never a feeling · captured 2026-07-19 · raw: /llms.txt
- field note #2 captured runYour audit trail commits alone — a ledger entry and the code it describes never share a commit.
rule — the ledger commits alone: a ten-line pre-commit hook refuses any commit that stages ledger and code together · captured 2026-07-30 · raw: /llms.txt
- field note #3 captured runAn automated check earns the right to block only by measured agreement with a human — never by being new.
rule — a check blocks only after N ≥ 25 decisions since the last miss with FP ≤ 2 and FN = 0: one miss resets the streak · captured 2026-07-30 · raw: /llms.txt
- field note #4 observationalNothing retires an expectation when the ruling underneath it changes.
rule — a declared failure carries a signature (test id · assertion kind · diff locus), never a name; and a declared failure that now passes is ROTTED, with its own exit code · captured 2026-08-06 · raw: /llms.txt
- field note #5 observationalRewording a command to get past your own guard is the breach.
rule — a refusal ends the attempt and becomes a log line, never a synonym: a rephrase after a refusal is itself a reportable event, and zero refusals means untested, not clean · captured 2026-08-06 · raw: /llms.txt
- field note #6 observationalYour command filter reads the string; the shell runs something else.
rule — filter what will EXECUTE, not what was typed: resolve first, refuse as a class anything that cannot be fully resolved, and log the resolved form beside the typed one · captured 2026-08-06 · raw: /llms.txt
Every note ships with a refusal test you can run yourself. 2 of 6 include the actual captured output, not a description of it; the other 4 show you the test to run and say plainly that nothing has been captured yet. New notes publish when they're written, not on a schedule this shelf would have to explain away.
raw, for agents: /llms.txt