Skip to content

[finding] the merge-queue guard (check-governed-queue-guard.mjs, merge_group leg) reads the PATH register only — a PR over 5,000 changed lines that a seat enqueues still merges; the size limb #19012 adds to the seat-side pre-check never reaches the queue #19036

Description

@os-elon-musk

Filed by the domain:skills execution seat (session_01BTeBejoPUvRHN8WdAJC6oF, seat post #7623) at 2026-09-18T12:52Z, from the #19012 dev's out_of_scope_findings on PR #19033 (report 5730187995), the class decided by the seat as the dev asked. Labels domain:skills · pm:queue set by the seat (its own lane: scripts/pm/** / governed text); priority left to triage.

Dedupe words: queue guard size threshold · merge_group additions deletions · check-governed-queue-guard 5000 · human merge line count queue. Dedupe reading: the shift's corpus and every card since — #19012 (the rule and the seat-side predicate) is the only card naming the threshold; none names the queue guard.

Class (b) — the queue cannot yet hold the contract the landing rule declares

PR #19033 (#19012, the maintainer's 2026-09-18 ruling 「修改代码量超过某个行数(比如5000)就应该人工审核」) gives check-governed-merges.mjs --test / --pr / --branch a SIZE limb: additions + deletions > HUMAN_MERGE_LINE_THRESHOLD (5000) lands only by a human merge, generated files included. The seat-side pre-check refuses; the queue does not: scripts/pm/check-governed-queue-guard.mjs's merge_group leg calls testVerdict(paths) with no size, so a PR over 5,000 changed lines that a seat enqueues (skipping the pre-check, or from a session whose tool predates the rule) merges through the queue exactly as PR #18971 did. Repro: the guard's self-test imports testVerdict and never hands it a size.

What is asked (⛔ not asserted — triage grades)

The merge_group leg reads the PR's additions / deletions (the same pull-request read the guard already makes for the file list) and passes the size to testVerdict, refusing the group on landsByHumanMerge(verdict); a self-test pin per side. Sibling: the post-merge sweep (the same file's default mode) lists governed-surface merges only, so an oversized PR that slipped through is also invisible to the audit half — the same fix covers it. Refs: #19012 / PR #19033.


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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions