SD-254
[producer-consumer-drift] Producer-consumer drift caught live — three consumers broke silently on bearing schema change. Keel shipped structured bearing to pitkeel (producer) without updating hud.py, prepare-commit-msg, or gate.sh (consumers). Gate passed because go vet/test/build verified compilation, not behavior. Captain caught it by comparing conversation HUD against physical terminal output. gate.sh was already overwriting entire .keel-state with only {gate, gate_time, tests}, destroying all other fields on every gate run — pre-existing bug exposed by the schema change. Fixed: hud.py renders work [N commits], prepare-commit-msg formats trailer, gate.sh merges into existing state. First entry in docs/internal/keel/slop.yaml. Backref: holding-deck.yaml coincidental-pass-gate-blindness updated with 3 lived examples.
← all decisions