Skip to content

Commit 3c7f5ec

Browse files
committed
fix(pm): the merge-queue guard refuses an oversized PR and the sweep lists one — the SIZE limb reaches the queue
The 2026-09-18 ruling landed seat-side (PR #19033) while the queue leg of check-governed-queue-guard.mjs kept handing testVerdict no size, so a PR over HUMAN_MERGE_LINE_THRESHOLD changed lines that a seat enqueued still merged. Queue guard: a fourth leg reads every queued pull request's additions / deletions off the same pull object the head read uses (makePullReader grew a `size`, no second endpoint), judges it through the sibling's IMPORTED predicate (testVerdict([], { size }) + landsByHumanMerge — this file declares no threshold and spells no comparison, pinned against its own source), and REFUSES on exit 8 with the two numbers, the threshold and the human-merge remedy printed; an unreadable size fails CLOSED on exit 9; the pull_request leg stays silent and byte-identical; exit precedence governed > size > carrier is a pure function, pinned on every combination. Post-merge sweep: classifyCommit is now landsByHumanMerge on testVerdict, the size read LOCALLY off the landed diff by one `git diff-tree --numstat` per mainline commit (commitChanges, replacing commitPaths' --name-only with a byte-identical path list), so an oversized landing with no governed path is an entry on the size limb alone — counted apart in the head, listed with a ⛔ SIZE row and the same attribution column. Self-tests: guard 261 → 296, governed-merges 410 → 435. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W5y9kRg1YtYaMQYExVLRc2
1 parent e8667ee commit 3c7f5ec

2 files changed

Lines changed: 917 additions & 50 deletions

File tree

0 commit comments

Comments
 (0)