+| D0141 | v5.0.0 is tagged on a commit whose `gate.py --boundary release` is GREEN, with `gate.py --release`'s verify lane RED at 50 criteria. `release_cut.py record-green` stamps the boundary gate, not the whole-workspace one, and this decision records which gate was stamped so the stamp cannot be read as more than it is. | An independent review of the release plan established that `record_green` performs no gate at all - it writes the commit id to a file - so nothing mechanical distinguishes a stamp made after a green run from one made after none. That makes the choice of gate a judgement, and a judgement belongs on the record rather than in a command's silence. The boundary gate is the one doctrine names for a release, and it passed: conformance 0 non-conformant, reconcile 0 drift, duplicate-id clean, and release-rehearsal walking greenfield init and a v4-era upgrade end to end. The whole-workspace gate additionally executes every acceptance criterion in the corpus, and 50 of 1,918 fail. D0137 already ruled those into v5.1 as their own sweep, for reasons that still hold: they are stale selectors rather than broken features, and a repair that merely makes a criterion pass converts a visible stale selector into an invisible vacuous one. Repairing 50 of them inside a release cut, without a review each, is precisely the trade that ruling refused. The cost is stated rather than hidden. v5.0.0 ships with 50 executable criteria that fail when run, the release notes say so with the number, `tools/verify-corpus-baseline.txt` records it as the figure the scheduled lane holds against in both directions, and the write-time guard means the set is closed and draining rather than open and growing. What this decision buys is that the next reader can tell which gate was green, instead of inferring it from a stamp that would look identical either way. | accepted | -- | 2026-08-12 |
0 commit comments