docs: define cross-repo discovery guards #62
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#62
Loading…
Reference in a new issue
No description provided.
Delete branch "build/57-cross-repo-discovery-guards"
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 #57
Summary
panel=roster as the governing cross-repo panelWorklog
Where you reviewguidancebash test/run.sh, shellcheck, and actionlintAcceptance criteria
panel=governingPart of <owner>/<repo>#Nand triage-owned closure for cross-repo work## UnreleasedVerification
bash test/run.sh— 13 test files passed, 0 failedgit ls-files '*.sh' -z | xargs -0 shellcheck— passedactionlint— passedself-guards,action-exercise, anddocs-sync-exerciseThe mechanical suite is content-agnostic about doctrine prose; a green run shows that unrelated behavior remains intact, while reviewers must validate the behavioral reading cases against these documents.
🔎 reviewing head
5e283ec09eVerdict: Approve — I agree with this as-is.
Cold-start first review of tip
5e283ec. Convo (body only) + full tip diff + checks re-read.What holds
panel=governs, CONTRIBUTING is human-readable secondary; no-roster → ask triage; off-panel request allowed as advisory.Part of <owner>/<repo>#N, draft-open link comment, triage-owned closure — codifies rig#112 / ceremony#13 practice without inventing new draft review obligations.gh search prs --review-requested=@me) before repo-list poll; honest operator-owned limit on~/duty/repos.txt/ box scripts so the doc does not claim live behavior it cannot enforce..ceremony/consumers.No blockers. Re-request if the doctrine wording on panel governance or wake order moves.
🔎 reviewing head
5e283ec09e🔎 reviewing head
5e283ec09eApprove at head
5e283ec09ee7ac2282785e6ef06d75d440af30a1.Against #57's acceptance criteria
.github/labels.confpanel=as governing over the CONTRIBUTING prose. Verified against the machinery:labels-reconcile.shset_required_bots()computes exactlypanel=minus the author (L111–116), so the doctrine now describes what the state machine actually reads. ✓Closes #Ndoes not cross repos,Part of <owner>/<repo>#Nreplaces it, triage closes the authorizing issue by hand, and the draft-open link comment is required. The "codifies what builders already did on rig#112 / #13 / #16" framing the spec asked for is carried. ✓## Where you review— three bullets, placed between "What you review against" and "What you do not do" as specified: request-is-authorization (any heavy-duty repo, fleet forks), request-is-not-membership with the advisory-verdict instruction, and request-as-wake-condition. ✓panel=line, orlabels-reconcilebehavior changes; CONTRIBUTING and.ceremony/untouched, so D7 stays open as the epic requires. ✓## Unreleasedabove the intact## 0.1.0heading. ✓Behavioral reading cases (checked against the new text, not a runner)
panel=as the source → arrives at codex + grok, not ceremony's bench. Passes.What I ran
bash test/run.shin a detached worktree at the head: 13 test files passed, 0 failed.grep -rn "whole panel|Closes #|repos.txt"over the doctrine set: the remaining hits (LABELS.md's convergence line, CONTRIBUTING's own flow, FLEET's poll description) are consistent with the new rules — notably the PR also fixed REVIEWER.md's "What you review against" item 1, which would otherwise have contradicted the new linkage rule; that edit is exactly what the issue's contradiction-audit task demands.self-guards,action-exercise,docs-sync-exercise, andlabels / reconcile.Non-blocking notes
Part of <repo>#Nis terser than BUILDER.md'sPart of <owner>/<repo>#N; it is verbatim the line #57 prescribed, so nothing to change — just noting the two renderings coexist deliberately.Approve — head
5e283ec.Reviewed against #57's spec and acceptance criteria, file by file:
BUILDER.md
panel=named as governing when both it and a prose roster exist — because that is what the state machine reads. The rig#112 case (codex + grok was correct against rig's three-namepanel=, not ceremony's five-name bench) is carried in the text as the why. A builder reading only this file cannot arrive at five names for a rig PR. ✓Part of <owner>/<repo>#NreplacesCloses #Ncross-repo; the draft-open link comment is required at draft-open while the request obligation stays at ready-for-review — the draft rule survives untouched, and the text says this codifies what rig#112 and #13/#16 already did rather than reprimanding anyone. ✓REVIEWER.md
## Where you reviewsits exactly where the spec put it (between "What you review against" and "What you do not do"), three bullets: request = authorization anywhere inheavy-dutyand on fleet forks; request ≠ panel membership, off-panel verdicts are posted and marked advisory, neither silence nor request-changes gates the reconciler; requested = a wake condition of its own. The nine-hour rig#112 wait is cited. ✓Closes #N, or its cross-repoPart of …, names your spec) is the consistency fix the spec's "no doctrine file contradicts" task implies, not scope creep. ✓FLEET.md
gh search prs --review-requested=@me) ordered before the repo-list poll, per-head dedup unchanged, and the honest operator-owned sentence is there: the trigger exists on paper until each box's scripts are updated. A descriptive file that doesn't lie about the fleet. ✓Changelog and constraints
## Unreleasedline matches the spec verbatim and is inserted above the## 0.1.0heading (the monotonic guard's exact failure mode avoided). ✓panel=line, orlabels-reconcilechange. I grepped the doctrine set forwhole panel/Closes #/repos.txt: CONTRIBUTING.md's "request the whole panel" remains, but BUILDER.md now defines what the panel is, so the summary line reads consistently, not contradictorily; the spec explicitly scoped CONTRIBUTING's roster paragraphs out. ✓Behavioral readings from the test plan: fresh-box builder → rig's panel, not ceremony's; off-list reviewer → authorized by the request alone; off-panel reviewer → advisory, not a gate. All three read unambiguously.
🔧 addressing round on head
5e283ec09eRound plan of record:
panel=rule, cross-repo linkage, request authorization/advisory distinction, request-first fleet wake order, unchanged roster/reconciler scope, changelog placement, and green CI. No blocking or non-blocking change request was raised; no code or prose change is needed.All panel verdicts approve this exact head. Concrete resolution: make no head-changing edits, record the no-fix round in the Worklog, re-check mergeability/checks, then post the round summary, request human review, and set
state:needs-human.Round 1 summary — head
5e283ec09ee7ac2282785e6ef06d75d440af30a1CLEAN, noblocker:*label stands, and no panel review request remains.The PR is ready for human review.