forked from heavy-duty/ceremony
During the ceremony#111 freeze, rig#126/#128 carried blocked beside state:needs-human — the round had finished, but the hold said the merge must not happen, and rig#126 was merged seven minutes after the reconciler wrote the green label. decide_state() only joined the two axes through blockers(), which emits branch facts; the hand-set blocked label was never consulted. blocked becomes the second exclusion on state:needs-human, exactly parallel to needs-ruling: round says needs-human + has_label blocked -> state:addressing. Deliberately not a blockers() emission — BLOCKERS is machine-owned and the converge loop would strip the live hold on the next tick, the same trap #51 names for needs-ruling. Ruling record: discussion 122, armed default A fired 2026-07-25T09:00Z. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 167.md | ||
| 173.md | ||
| 178.md | ||
| 180.md | ||
| README.md | ||
changelog.d/ — the next release's section, one fragment per issue
Machine-assembled by bin/changelog-assemble (#112): every PR that changes
behavior writes one file here — <issue>.md, the exact prose that will be
published, nothing else — and the release PR folds them all into the next
## X.Y.Z — DATE section of CHANGELOG.md, consuming them. Distinct
filenames never conflict, which is this directory's whole reason to exist.
This README is the marker that keeps the directory tracked when it holds no
fragments (#112 D1) — changelog-armed refuses a tree without it; do not
delete it.