Deferred over-strict finding from PR #681's final round (not a fail-open; direction test: over-blocking). The PRE-EXISTING-ENTRY arm of --check-bump compares every versioned plugin's manifest against the base ref, so when main advances ANY plugin's version while a PR is open, the stale branch red-lines on a plugin the PR never touched — forcing a merge-from-main each time (observed twice on #681 itself: work-items 0.14.2→0.14.4). Fix direction: scope the bump comparison to plugins actually changed in the PR diff (git diff --name-only base...head filtered to plugin roots), leaving untouched plugins out of the check. Origin: #681 worker report; the gate's own self-tests cover the in-scope behaviors.
Deferred over-strict finding from PR #681's final round (not a fail-open; direction test: over-blocking). The PRE-EXISTING-ENTRY arm of --check-bump compares every versioned plugin's manifest against the base ref, so when main advances ANY plugin's version while a PR is open, the stale branch red-lines on a plugin the PR never touched — forcing a merge-from-main each time (observed twice on #681 itself: work-items 0.14.2→0.14.4). Fix direction: scope the bump comparison to plugins actually changed in the PR diff (git diff --name-only base...head filtered to plugin roots), leaving untouched plugins out of the check. Origin: #681 worker report; the gate's own self-tests cover the in-scope behaviors.