fix(gate): dedupe the duplicate-only hold's warnings and repair #9206's engine fixture fallout - #9219
Merged
Merged
Conversation
…s engine fixture fallout (#9218)
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | 2c666db | Commit Preview URL Branch Preview URL |
Jul 27 2026, 07:23 AM |
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Contributor
Logic backtestReplayed 0 historical case(s) for Backtest comparison:
|
❌ 4 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related fixes to #9206/#9129's duplicate-only hold path.
1. The held finding was listed twice. The hold branch moves escalated blockers into
warningsso the panel still shows them — butgateWarningsis every warning-severity finding, andduplicate_pr_riskis authoredseverity: "warning", so it was already there. Appending the blocker unfiltered rendered the identical finding twice. Verified against the built engine before the fix:The failure path directly below has always applied
!blockers.includes(finding); the hold path now applies the same exclusion. Fixed in both twins (src/rules/advisory.ts+packages/loopover-engine/src/advisory/gate-advisory.ts) to keep the live-gate-parity contract green.2. The engine workspace's suite has been red on
mainsince #9206 — 7 failures, which #9206's own golden-fixture update did not cover:openPr(...)) carried nochangedFiles, so under orb(gate): any contributor can force-close a rival's PR by citing the same issue number — breaker-exempt, default-on, and it has already closed 2 PRs #9129's new corroboration rule it downgraded to the always-advisoryduplicate_pr_risk_unconfirmed— the "genuinely blocked" scenarios silently stopped being blocked and the miner loop handed off instead of continuing/abandoning. The fixture now names the same file the attempt itself touches, exercising the changed-file-overlap arm ofhasDuplicateOverlapCorroborationrather than weakening the assertion.conclusion: "failure"where orb(gate): any contributor can force-close a rival's PR by citing the same issue number — breaker-exempt, default-on, and it has already closed 2 PRs #9129 deliberately producesneutral— the same semantic change the host's golden corpus already recorded when it renamedduplicate-block-mode-fails→duplicate-block-mode-holds.Closes #9218
Validation
npm run test --workspace @loopover/engine— 737/737 pass (was 730/737 onmain)npm run test:live-gate-parity— 14/14npm run test:engine-parity— 14/14npx vitest run test/unit/{gate-check-policy,rule-gate-eval,gate-golden-corpus,content-lane-wire,agent-actions}.test.ts— 548/548Safety