Skip to content

Drop the cross-account review rule: the queue guard stops refusing a same-account review of record, and contract-review.md stops requiring Reviewed-by-account (maintainer 2026-10-24) #25568

Closed

Description

@objectstack-fleet

Filing gate ③: a maintainer-direct task, the maintainer's words quoted verbatim. Filed by the domain:skills seat 2 (seat post #19287) on the maintainer's word in the project thread 待决策汇总, which reverses the rule #25415 asked for. Grade suggested p1 · S (it blocks every project-thread Tier S landing in all three lanes); triage may regrade.

The maintainer's words (2026-10-24, thread 待决策汇总, verbatim)

守卫在合并队列里只认「另一账户复审」,这个没必要,去掉这条规则 (01:16:45Z)
立skills卡 (01:16:51Z)

Business rationale

Reader (who acts)

A card thread on the domain:skills lane (the surface below includes .claude/**, so the fable model). Branch read at spawn and written on the claim.

Wanted

The seat's reading of 「去掉这条规则」: the cross-account requirement goes as one rule, enforcement and text together. Keeping the text while the guard stops enforcing it would leave seats a duty the maintainer called unnecessary.

  1. scripts/pm/check-governed-queue-guard.mjs: remove the feat(pm): the queue guard refuses a project-thread Tier S record reviewed from the PR's own account #25436 account leg (accountIndependence, the not-independent record state, independenceRefusalLines, the accounts compared clear line, the attributionLogin recogniser wiring, the header paragraph, and the #25415 battery with its floor row 28 → 27). A Tier S record on the current head stands on tier alone, as it did before feat(pm): the queue guard refuses a project-thread Tier S record reviewed from the PR's own account #25436.
  2. scripts/pm/record-recognisers.mjs: remove readReviewedByAccount, readAttributionLogin, REVIEWED_BY_ACCOUNT_LINE, the locator's account field and the #25415 battery (floor 13 → 12), unless another caller on main reads them (git grep first; keep and say so if one does).
  3. .claude/skills/pm-dispatch/references/contract-review.md: drop the account requirement from L36 (Reviewed-by: 须属 PR 作者外的账户), L37 (Reviewed-by-account: 行), L38 (「另一账户」 on the prose-surface record; whether the TIER_DEFAULT record itself stays is the implementer's to read against its source and say), L41 (① 另加 … 队列守卫同判) and L42–L43 (the 过渡 substitute, moot once ① owes no second account). Session independence (Implemented-by: ≠ Reviewed-by:, L35) is not this rule and stays. git grep -n 'Reviewed-by-account\|另一账户' -- .claude scripts after the edit names every other mention; each is removed or justified in the PR body.

Not in scope: Tier H landing (authorized approval) and the human-merge size line, both unchanged.

Acceptance

Dedupe

MCP search_issues, objectstack, "queue guard Reviewed-by-account" → 12 hits, all closed; top: #25415 (the card this reverses), #18384, #15187, #12750, #18083, #18470 (other queue-guard legs). None removes the account leg. New.

Dedupe words: queue guard Reviewed-by-account remove.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 (card thread) · 2026-10-24T01:20Z · p1, tooling, domain:skills. Removes the cross-account review rule on the maintainer's 2026-10-24 01:16:45Z word quoted on the card (「守卫在合并队列里只认「另一账户复审」,这个没必要,去掉这条规则」, 「立skills卡」): the queue guard's account leg and its recognisers (#25436) roll back, and contract-review.md stops requiring Reviewed-by-account: and a second account.
    Session: session_018UunQYGRd5yu6puARCJBk9 (card thread of domain:skills seat 2, seat session session_01REMuzhz6MWRjg8uohedMnM)
    Account: os-elon-musk (the seat's linked user; always the card's assignee)
    Branch: claude/project-thread-1qb5el (the card thread's designated push branch, platform-assigned at thread creation and read by the seat from the thread's session record per ruling 1A of #25379; the thread checks that this newest claim names its branch before it starts)
    Worktree: the card thread's own checkout
    Domain: domain:skills
    Seat: domain:skills#2 (seat post #19287)
    File surface: scripts/pm/check-governed-queue-guard.mjs and scripts/pm/record-recognisers.mjs (the #25436 hunks only: git show 041a120b61 is the map; a clean revert of those hunks is the expected shape, adjusted where later commits touched the same lines); .claude/skills/pm-dispatch/references/contract-review.md L36–L38 and L41–L43; any other .claude/** or scripts/pm/** line that git grep -n 'Reviewed-by-account\|另一账户\|25415' names, each removed or justified in the PR body. (stop on breach; explain in the report)
    ⛔ Not in scope: any Tier H file (AGENTS.md, CLAUDE.md, docs/**, skills/**, .github/workflows/**, CODEOWNERS); the Tier H landing leg (authorized approval) and the human-merge size line, unchanged; session independence (Implemented-by: ≠ Reviewed-by:, contract-review.md L35) stays. ⛔ No rule text names a login.
    Writes: PR only through the relay's pr_create (node scripts/pm/fleet-write/dispatch.mjs); comments, labels and body edits only through post-stamped.mjs, label-write.mjs and the relay; ⛔ every GitHub MCP write tool (create_pull_request, update_pull_request, issue_write, add_issue_comment, …). In this project the repo's settings.json deny does not load, so this line is the guard.
    Container & model: S in a card thread because p1 (it blocks every project-thread Tier S landing; PR #25552 is parked behind it), mode:thread, model: CONTRACT_REVIEW_TIER (.claude/skills/pm-dispatch/** is MANDATORY), effort: xhigh (p1). check-governed-merges.mjs --test on the three files reads Tier S (only .claude/** hits the register): a CONTRACT_REVIEW_TIER PASS record on the PR's head plus all-green checks; the seat lands it under the maintainer's standing Tier S word of 2026-10-23 14:14Z in the seat thread. The guard's merge_group job checks out the merge-group commit, so this PR's queue run is judged by the guard it ships; if it is refused anyway, the PR returns to draft and the seat asks the maintainer for an authorized approval.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (a maintainer word reversing #25415)
    Thread-read: none
    Serial constraints cleared: start from main 9c43e19f65. PR #25552 (card #25507, draft, parked behind this card) edits other pm-dispatch files, not contract-review.md; card #25490 (queued) does not touch these files. Merge main before asking for review.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions