Repository navigation
feat(queen): a bee branch merges only on the Queen's accept at its head - #5422
Merged
Merged
Conversation
…accept at its head (Closes #5421) Owner's rule, 2026-10-01: once the Queen approves, no person is needed - her accept is the merge; the one thing that must hold is that she checked. Until now the publisher opened a pull request for every queen-* branch and armed --auto --squash on it without asking her: 249 merged, 17 armed, none gated on a verdict. Now: - it reads /queen/public-board and publishes a branch only when her verdict is `accept` AND the commit she judged is the branch head (or that head's parent, when the head is only the docs/now commit this tool adds); - it arms auto-merge with --match-head-commit, so a push after the accept cannot ride through on it; - on open queen-* pull requests it arms the accepted ones and disarms every armed one she has not accepted at its head; - when the board is unreadable, or carries no verdict field yet (server not deployed), it exits 2 and touches nothing - fail closed. Self-test: 15 shapes, 9 of them for the gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
This was referenced Oct 1, 2026
Merged
This was referenced Oct 1, 2026
Closed
gHashTag
added a commit
that referenced
this pull request
Oct 2, 2026
…er bee gates every merge (#5525) (#5526) * The Queen only manages: the publisher never arms auto-merge, a reviewer bee gates every merge Owner's rule of 2026-10-02 overrides "the Queen's accept IS the merge" (2026-10-01, #5422). tools/queen/publish.py still opens a pull request for a head she accepted, but no longer runs gh pr merge --auto; its reconcile pass only disarms auto-merge on open queen-* pull requests. --self-test parses the module's own syntax tree and fails on any gh pr merge argv that is not --disable-auto. auto-merge-ready-prs.yml now merges only pull requests carrying the bee-reviewed label, applied after the head commit. The Queen's verdict is not a merge trigger. Closes #5525 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * review(#5525): date the head by its arrival; self-test sees tuple argvs and gh api merges Reviewer bee's fixes to #5526. - auto-merge-ready-prs.yml: `committedDate` is when a commit was made, not when it reached the branch, so a commit made before the bee-reviewed label and pushed after it passed the gate unreviewed. The head's time is now the latest of its committer date, the first check run started on it and the last head_ref_force_pushed event. Every read fails closed. - publish.py --self-test: also reads tuple argvs and gh api merge routes (/pulls/N/merge, enablePullRequestAutoMerge, mergePullRequest). Five planted regressions each turn it red; two of them (tuple, REST) passed before. Census: quiet "named a path but not quiet" 150 -> 155, re-blessed. The merger step now names three more GitHub API paths (commits/<sha>, commits/<sha>/check-runs, issues/<n>/events) and #5526 itself added the first three; none is in a quiet shape ("steps in a quiet shape" stays 31). Refs #5525 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5421
Owner's rule (2026-10-01): once the Queen approves no person is needed — her accept is the merge; the one thing that must hold is that she checked.
tools/queen/publish.pyused to publish everyqueen-*branch and arm--auto --squashwithout her verdict (249 merged, 17 armed). Now:--match-head-commitverdictfieldSelf-test: 15 shapes (9 for the gate).
Order: merge after gHashTag/BrowserOS#517 is deployed. Before that, the board carries no
verdictand this exits 2 by design, so the publisher pauses. No bee work gets merged unchecked in the meantime.Known limit: the board reads the last 7 days of dispatches, so an older accept is invisible and its PR is disarmed. That fails closed.
🤖 Generated with Claude Code