From cca75fef3ece594911c90d17767071850966608f Mon Sep 17 00:00:00 2001 From: claude-lead-andresmgsl Date: Sun, 30 Aug 2026 22:15:45 +0000 Subject: [PATCH] docs: re-vendor .ceremony/ from ceremony 0.6.3 #39 moved the two workflow callers to 0.6.3 but left the doctrine mirror at 0.6.1, so BUILDER.md was missing the three clauses that govern signal-then-ready (ceremony#330, the undraft order, and ceremony#336). Re-vendored all six manifest files and moved the pin recorded in .ceremony/README.md. --- .ceremony/BUILDER.md | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.ceremony/BUILDER.md b/.ceremony/BUILDER.md index 4429bbc..fa3b431 100644 --- a/.ceremony/BUILDER.md +++ b/.ceremony/BUILDER.md @@ -33,7 +33,10 @@ triage bug, and the move is to say so on the issue, not to guess. re-requests posted, by head and not by verdict (steps 1–2). A red check at the head takes it out of this shape: the next move is yours; 3. every remaining acceptance criterion is operator-owned, stated so by - triage on the issue; + triage on the issue. **An operator-owned remainder parks the claim and + never the handoff**: this shape is reached only from the far side of + shape 4, because it is the state finishing the work puts you in and + would otherwise excuse the handoff it should follow (#336); 4. it is **handed off** — round passed, no `blocker:*` standing, `state:needs-human` set per Handoff, the merge the human's. Shapes 2 and 4 are sequential and never overlap; @@ -137,8 +140,8 @@ triage bug, and the move is to say so on the issue, not to guess. its red-flag profile are in REVIEWER.md §What you review against, item 2 (#216). - **Scope discipline: the PR does the issue — whole, and nothing else.** - Adjacent problems go to a discussion, or a comment on the relevant issue; - you do not mint issues — nobody but triage does — and you do not fix + Adjacent problems go to a proposal, or a comment on the relevant issue; + you do not mint work issues — nobody but triage does — and you do not fix drive-by findings in the same PR. ## The review round @@ -174,7 +177,9 @@ such as the panel roster live in that repo's own CONTRIBUTING.) blocking (#139, #276). **Then classify that entry by `conclusion`, never `status`**, which can disagree with it (#259). No conclusion is not green: a configured run in progress is waited on, and waiting is - compliance, not a stall. Cancelled or stale is not green, *stale* being a + compliance, not a stall — the wait is the **request's**, and never a + reason to withhold the declaration that a round was answered (step 2). + Cancelled or stale is not green, *stale* being a superseded head's check, which a head-scoped rollup never shows. Skipped or neutral is green, those being deliberate "passed / not applicable" conclusions. No checks configured is green — the third ruled case, not an @@ -200,8 +205,19 @@ such as the panel roster live in that repo's own CONTRIBUTING.) head, and its mechanism is crew's to describe (#94). **The re-request carries the same green-check-at-head precondition**, argued exception included: a fix push whose check comes up red is your next fix, not the - panel's. Prefer verification over argument — add the test that settles - the doubt. + panel's. **Where an engine mediates the request, that precondition binds + the engine's act and not yours**: declaring a round answered is not + requesting the panel, so declare it as soon as the round's fixes are + pushed and stop. The engine holds the request while the head is pending + or red, so an early declaration cannot produce an early request while a + withheld one is indistinguishable from a session that died (#330). + **Never wait on an event you have no wake for** — where the engine is + what observes the check settling, the wait is the engine's to keep + (#330). **Never block on a producer you cannot prove alive either**: + where a job signals its own completion, that signal is the wake and the + finished output is read afterwards, because a follow on a file nothing is + writing cannot tell *not yet* from *never* (#336). Prefer verification + over argument — add the test that settles the doubt. 3. Never dismiss a review, never merge, never mark your own work as passed. A blocking point you disagree with is answered with evidence or escalated in the PR; silence and force-forward are not options, and a panel @@ -218,8 +234,9 @@ may draft a PR but only the builder undrafts it. **Where a draft suppressed the checks, green is proven at the flip and the request still follows it** — marking ready runs the checks the draft held back, so the order is flip, let the head answer, then request, step 1's precondition and not a second one. -Waiting there is compliance, and `blocker:unrequested` does not fire while a -head's checks are pending or red (#236). +Waiting there is compliance — again the request's wait, not the +declaration's — and `blocker:unrequested` does not fire while a head's +checks are pending or red (#236). ## The ruling ask