Skip to content

pm-dispatch: the merge-queue guard still demands an approval for a references/-only governed PR — #17950's tier is declared, not enforced #18020

Description

@claude

Part of #17950

What

scripts/pm/check-governed-queue-guard.mjs (and objectui's scripts/check-governed-queue-guard.mjs) passes a governed diff at merge_group time only on a pinned AUTHORIZED approval (docblock :84–:88; the one zero-approval class is the byte-exact register recompute). #17950's tiering — ruled 「我点头」 and landing in the charter PR #18018 — says a PR whose governed paths ALL lie under .claude/skills/pm-dispatch/references/ lands through the queue after the skills seat's contract-tier review, with no maintainer click. Until the guard learns that tier, the text is declared and not enforced: a references-only PR is still ejected from the queue without an approval, and the charter's 「one hand merge」 for the chain's references follow-up is not yet true.

Work item

Teach the queue leg the tier: a governed diff whose governed paths are all under .claude/skills/pm-dispatch/references/ (nothing in SKILL.md, core-rules.md, AGENTS.md, CLAUDE.md, .claude/agents/**, hooks, settings, skills/**, docs/adr/**) passes on a review of record instead of an approval — the same ## Contract review comment check-clause2-carriers.mjs C6/C7 already recognise (heading, current head sha, Reviewed-by: session, Served-tier: equal to CONTRACT_REVIEW_TIER), on the PR thread. Any other governed path keeps today's predicate unchanged. Self-test cases both directions (references-only with a record passes; references-only without one is refused; a mixed diff with one rules-layer path is refused without approval; a dismissed approval still refused). check:pm-governed-prose and the AGENTS.md PD #14 sentence 「the queue guard refuses an unpinned governed diff」 are re-read against the new predicate and adjusted only if they stop being true.

Provenance

Derived from the in-flight card #17950 (chain head #17942) while the skills seat reviewed PR #18018 (record 5653195700); Q2 class 1 of ruling 5652079343: an in-flight card's in-scope derived work is a sub-issue owned by the claiming seat at inherited priority — the one triage bypass, swept post hoc. Labelled by the owning seat for that reason; domain:skills because the guard is the governed surface's own gate (lane table, domain:skills row).

Dedupe keywords

check-governed-queue-guard · references tier · GOVERNED_APPROVERS · merge_group · contract-review record


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions