docs: a post-merge acceptance criterion rides Refs #N — triage closes on the evidence #152
No reviewers
Labels
No labels
attention
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-ruling
needs-triage
offsite
post-merge
ready
release
scope:docs
scope:guards
scope:labels
scope:release-flow
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/ceremony#152
Loading…
Reference in a new issue
No description provided.
Delete branch "build/151-refs-not-closes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #151
Merging #143 auto-closed #137 with its post-merge criterion unmet: the PR carried
Closes #137as doctrine required, the criterion (a live proof of apull_request_targettrigger, which resolves from the base branch) could only be checked after the merge, and the contract was silent — the same keyword-vs-close-authority disagreement the cross-repo carve-out already resolved, one case over. Triage reopened #137 by hand and minted this issue. (This PR's own criteria are all pre-merge-checkable, soCloses #151is the correct default here — the exception doesn't apply to the PR that writes it down.)What this PR does — prose only, four docs and one fragment, per D5 no script/workflow/test/label changes:
BUILDER.md— the second exception sits beside the cross-repo one in the Building bullet, in its shape and voice: when the issue body marks a criterion post-merge, the same-repo PR usesRefs #N, triage closes by hand on the evidence, the builder never judges which issues qualify, andCloses #Nstays the default. The #143/#137 incident is named as the why.TRIAGE.md— the issue contract's acceptance-criteria bullet now requires a post-merge criterion to carry its own mechanism: named post-merge, triage owns the close,Refs #Nnames the reference. #137's amended body is cited as the worked example.REVIEWER.md—Refs #NjoinsCloses #NandPart of <owner>/<repo>#Nin the first authority, with the not-a-defect sentence: request-changes on the "missing" keyword enforces the bug the shape fixes.CONTRIBUTING.md— step 1 gets one pointer clause ("its exceptions … live in BUILDER.md") and no restatement; one rule, one home, three pointers.Test evidence
bash test/run.sh— 18 files, all green (unchanged behaviour; proves nothing undertest/,actions/,lib/or.github/workflows/was dragged in — the diff is exactly the four docs pluschangelog.d/151.md).bash .github/scripts/shellcheck-all.sh— clean.Refs #137— a compliant example now, not a special case.Acceptance criteria
BUILDER.mdstates that a same-repo PR usesRefs #Nwhen the issue's body says a criterion is post-merge, and that triage closes those issues by hand.TRIAGE.mdrequires a post-merge criterion to name itself as post-merge, name triage as the closer, and name theRefs #Nreference.REVIEWER.mdlistsRefs #NalongsideCloses #NandPart of <owner>/<repo>#N, and says a reference-only PR is not a defect in this case.CONTRIBUTING.mdpoints at BUILDER.md for the exceptions and does not duplicate the rule;Closes #Nis still the default in all four files.Worklog
6a16a30in all four spots)changelog.d/151.md⟲ resuming from
b3b9830700🔎 reviewing head
b3b9830700Verdict: approve
Reviewed head
b3b983070055749d0d8ba71e63a76e1b78139804against #151 (D1–D5 and the six acceptance criteria). On-panel (author isclaude-bot-andresmgsl).Acceptance criteria
Refs #Nwhen the issue body marks a criterion post-merge; triage closes by handCloses #Nremains the default; #143/#137/#151 named as the whyRefs #NRefs #Nlisted withCloses #N/Part of …; reference-only is not a defectCloses #Nstill the default in all four filesBUILDER.md,TRIAGE.md,REVIEWER.md,CONTRIBUTING.md,changelog.d/151.mdonlybash test/run.sh→ 18 files, all green;bash .github/scripts/shellcheck-all.shclean. CItest/self-guardsalso greenRead-order / #137 check
CONTRIBUTING points → BUILDER states the rule once → TRIAGE obligates the issue author → REVIEWER de-fangs the keyword false positive. One home, three pointers. #137's post-merge criterion already names itself post-merge, names triage as closer, and asks for
Refs #137— it is a compliant example under the new TRIAGE text, not a special case.This PR correctly uses
Closes #151(all criteria pre-merge checkable); the exception it writes down does not apply to itself.No blocking findings. Non-blocking: none worth tracking.
Approve.
🔎 reviewing head
b3b9830700All acceptance criteria are met at
b3b983070055749d0d8ba71e63a76e1b78139804.The four doctrine changes preserve
Closes #Nas the default while defining the issue-directedRefs #Nexception consistently: BUILDER owns the rule, TRIAGE requires the criterion to carry its mechanism, REVIEWER recognizes the reference as authoritative, and CONTRIBUTING only points to BUILDER. The changed-path set is exactly those four documents pluschangelog.d/151.md; no machinery or tests changed. I also checked the amended #137 criterion and it satisfies the new TRIAGE contract.Verified locally:
bash test/run.sh— 18 test files passed, 0 failed (the existingyq-dependent cases were skipped becauseyqis unavailable)bash .github/scripts/shellcheck-all.sh— clean across 39 tracked scriptsgit diff --check e8675548ce34a4b38007ab5d6fd035aac382af73...HEAD— cleanCurrent CI reports the test, self-guards, action exercise, docs-sync exercise, fixture-chain, both step replays, and label reconciliation checks successful.
🔎 reviewing head
b3b9830700Approve — head
b3b983070055749d0d8ba71e63a76e1b78139804.Reviewed against #151's acceptance criteria, all met:
Refs #N, triage closes by hand on the evidence, builder never judges which issues qualify,Closes #Nremains the default, #143/#137 named as the why. ✓Refs #Nreference; #137's amended body cited as the worked example. ✓ I re-read #137's amended criterion against this text — it names all three ("Post-merge, not on this PR", "Triage keeps #137 open past the merge and closes on this evidence", "Refs #137, notCloses #137"), so it is now a compliant example, not a special case. ✓Refs #NjoinsCloses #NandPart of <owner>/<repo>#Nin the first authority, with the not-a-defect sentence and the incident citation. ✓Closes #Nstays the default in all four files. ✓ One rule, one home, three pointers — reading the four files in builder order (CONTRIBUTING → BUILDER → issue → REVIEWER) shows no duplicated statement that can drift.changelog.d/151.md; nothing undertest/,actions/,lib/, or.github/was touched. ✓changelog.d/151.mdexists; the### Changedheading matches the convention already used by135.md/137.md. ✓Environment gaps, named per doctrine: this box has no
node,shellcheck,yq, ornpm.shellcheck-all.shtherefore could not run at all (shellcheck: command not found), andbash test/run.shreports 7 failing files (package-json version cases, ruling/offsite sweeps) in both a detached worktree of this head and a detached worktree oforigin/main(9e960f8) — the sorted FAIL/SKIP lists are byte-identical between base and head, so every failure is pre-existing/environmental and none is attributable to this PR. For a prose-only diff confined to the five files above, the base-vs-head failure-parity comparison plus direct reading of the diff is the coverage I relied on; CI is the authority on the shellcheck criterion.📦 Round summary — one round, unanimous, no fixes owed.
The panel was requested at
13:54:58Zon headb3b9830— the only head this PR has ever had — and all three verdicts approve it: grok13:56Z, codex14:02Z, kimi14:11Z, with no blocking or non-blocking points raised, so nothing changed post-review.What was verified: docs-only diff (BUILDER.md, TRIAGE.md, REVIEWER.md, CONTRIBUTING.md +
changelog.d/151.md), the four edits land #151's D1–D4 exactly (theRefs #Nexception for post-merge criteria, triage's closer obligation, the reviewer's check, the flow note), local suite and CI green, noblocker:*. The reconciler validatedstate:needs-humanat14:12Zand the review request to @danmt is live — the merge is yours.