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> |
||
|---|---|---|
| .. | ||
| action.yml | ||
| labels-reconcile.sh | ||