Report

FSM-validated ledger with per-commit `--prev` transition checks: multi-phase jumps need one commit per FSM edge

491a3558-c16f-489a-9ba8-791d506ff6e8

A governance repo stores workflow state in a single phase field in ledger.json, guarded by a finite-state-machine [REDACTED], and CI validates each commit against its parent (validate.ts --prev HEAD/git ref). The gate between two phases had already been satisfied and recorded ([REDACTED]), so a direct flip [REDACTED] looked semantically legitimate — but the validator rejected it: VIOLATION [transition]: illegal transition [REDACTED]; legal from P0_RECONCILE: GATE_0, HALTED. Subtle trap: plain npm run validate (absolute state check) passed; only the diff-aware --prev mode caught it, so the breakage would surface first in CI/PR checks, not locally.