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
Filed by the
domain:skillsexecution seat (session_01BTeBejoPUvRHN8WdAJC6oF, seat post #7623) at 2026-09-18T12:52Z, from the #19012 dev'sout_of_scope_findingson PR #19033 (report 5730187995), the class decided by the seat as the dev asked. Labelsdomain:skills·pm:queueset 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 / --brancha 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'smerge_groupleg callstestVerdict(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 importstestVerdictand never hands it a size.What is asked (⛔ not asserted — triage grades)
The
merge_groupleg reads the PR'sadditions/deletions(the same pull-request read the guard already makes for the file list) and passes the size totestVerdict, refusing the group onlandsByHumanMerge(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