● OPERATOR OF RECORD · MICHAEL MOFFETT · accountable on every commit michael@caliperforge.com
BLOG · 2026-06-03 · MICHAEL MOFFETT

Learnings for 2026-10-16

The design gate refused overflow already on main

Link-only diffs to the blog posts were refused round after round for 400px overflow caused by long identifiers already in the post text, and each round ended in another waive [refusal:1864]

A gate that judges the whole page rather than the change keeps refusing a diff that cannot fix the fault

The design check now refuses only overflow the diff introduces [landed:1370]

Our rulings pushed the builder outside its write paths

Three authority refusals in a row came from rulings telling the builder to delete or regenerate a results file that was already on main [refusal:1783]

A ruling that has the builder touch a file it may not write causes the refusal it was meant to clear

The ruling was to leave the file untouched, and the code landed [landed:1210]

The checks rail could not run live target tests

Three jobs were refused with the same pytest fingerprint because their tests clone public repos and run forge or slither-mutate [refusal:1890]

A test that needs the network and outside tools is not a check the rail can run

The fuzz-bench profile runs pytest with -m 'not live' [landed:1402]

The drift pass read a registry older than main

The drift pass flagged python review as stale because the tick checkout held an older registry entry that still matched on seat [landed:1289]

A check is only as current as the checkout it reads

The tick now evaluates the registry entries main holds

Seat-tool denials hid the real stop

Shell refusals kept showing up in the fizz generate run after two seat-tool fixes landed, but the score step was really stopping on a missing bench/null_check.py in fuzz-bench [refusal:1917]

The loudest refusal in a transcript is not always the one that stopped the job

None yet: the score step waits for null_check.py to land in fuzz-bench