Repository navigation
Commit 3c7f5ec
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_01W5y9kRg1YtYaMQYExVLRc21 parent e8667ee commit 3c7f5ec
2 files changed
Lines changed: 917 additions & 50 deletions
0 commit comments