fix(review): close 5 real pre-existing regressions on main#9276
Merged
Conversation
Confirmed via a clean origin/main checkout that 8 test files (12 test cases) were failing independently of any in-flight PR. Root causes, all real bugs or stale test assertions from recent merges: 1. linked-issue-label-propagation-fetch.ts: a merge-conflict resolution's fix (the direct-ownership-match exemption from the reward-label satisfaction-verdict check, #9161/#9077) was verified locally but never actually committed before its branch was pushed -- silently lost. Re-applied. 2. config-lint.ts's mergeReadinessCompositeWarnings fired even when gate.mergeReadiness is explicitly "off", which is a genuine no-op and never worth warning about -- only null/unset and off should both short-circuit. 3. predicted-gate-engine.test.ts asserted gateMode(undefined) === "advisory", the pre-#9167 fallback; #9167 intentionally made this fail closed ("block") for a malformed value. Test updated to match. 4. loopover-engine-scaffold.test.ts asserted a stale package.json "files" shape; #9064's engine-coverage work legitimately changed it to source-map-friendly glob patterns. Test updated to match. 5. The "merge-readiness-composite-preserves-explicit-block" engine-parity fixture encoded a "composite only fills in an unset sub-gate" semantic that was deliberately reverted (see applyMergeReadinessGate's own doc comment: unreachable in practice, since every sub-gate mode is already a concrete DB-defaulted value by the time it reaches GateCheckPolicy). Renamed and corrected to assert the actual (override) behavior, with a fresh golden recorded via scripts/record-engine-parity-goldens.ts. queue-5.test.ts's REGRESSION (#4528) test hit the same reward-label gate from a different angle and needed the same two assertions corrected. 6. reputation-wiring.test.ts's seedReviewTarget helper still wrote into review_targets, frozen by the 2026-06-22 convergence cutover (#9136 repointed getSubmitterReputation/getSubmitterReputationAcrossInstall onto the live review_audit ledger, but this test helper was never updated to match). Rewritten to seed review_audit + pull_requests directly, mirroring submitter-reputation.ts's own query shape; also registered the synthetic repos an install-wide test needs (the cross-repo query joins on repositories.installation_id) and repointed a stale review_targets backdating UPDATE at pull_requests (#9015 already repointed the cadence query itself).
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | bc9ed2a | Commit Preview URL Branch Preview URL |
Jul 27 2026, 11:02 AM |
❌ 5 Tests Failed:
View the top 3 failed test(s) by shortest run time
View the full list of 1 ❄️ flaky test(s)
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
Confirmed via a clean
origin/maincheckout that 8 test files (12 test cases) were failing independently of any in-flight PR — a real, pre-existing regression, not caused by any branch. Root causes, all genuine bugs or stale test assertions from very recent merges in today's heavy churn:linked-issue-label-propagation-fetch.ts: a merge-conflict resolution's fix (the direct-ownership-match exemption from the reward-label satisfaction-verdict check, orb(rewards): a contributor who authored the linked issue inherits every label on it, bypassing the reward-label trust gate and its opt-in flag #9161/orb(rewards): the Gittensor reward multiplier is chosen by contributor-authored PR title text #9077) was verified locally but never actually committed before its branch was pushed — silently lost. Re-applied.config-lint.ts'smergeReadinessCompositeWarningsfired even whengate.mergeReadinessis explicitly"off", which is a genuine no-op and never worth warning about — onlynull/unset and"off"should both short-circuit.predicted-gate-engine.test.tsassertedgateMode(undefined) === "advisory", the pre-orb(config): mergeReadiness:advisory silently demotes three explicitly-blocking gates at once, and unknown gate modes coerce toward merge #9167 fallback; orb(config): mergeReadiness:advisory silently demotes three explicitly-blocking gates at once, and unknown gate modes coerce toward merge #9167 intentionally made this fail closed ("block") for a malformed value. Test updated to match.loopover-engine-scaffold.test.tsasserted a stalepackage.json"files"shape; orb(testing): engine package tests contribute zero coverage evidence, and two v8-ignore directives are malformed #9064's engine-coverage work legitimately changed it to source-map-friendly glob patterns. Test updated to match.merge-readiness-composite-preserves-explicit-blockengine-parity fixture encoded a "composite only fills in an unset sub-gate" semantic that was deliberately reverted (seeapplyMergeReadinessGate's own doc comment: unreachable in practice, since every sub-gate mode is already a concrete DB-defaulted value by the time it reachesGateCheckPolicy). Renamed and corrected to assert the actual (override) behavior, with a fresh golden recorded viascripts/record-engine-parity-goldens.ts.queue-5.test.ts'sREGRESSION (#4528)test hit the same reward-label gate from a different angle and needed the same two assertions corrected.reputation-wiring.test.ts'sseedReviewTargethelper still wrote intoreview_targets, frozen by the 2026-06-22 convergence cutover (orb(observability): the orphaned review_targets table silently disables the anomaly alerter, the reputation quality signal, and the AMS bridge — and the reputation half expires to empty around 2026-09-20 #9136 repointedgetSubmitterReputation/getSubmitterReputationAcrossInstallonto the livereview_auditledger, but this test helper was never updated to match). Rewritten to seedreview_audit+pull_requestsdirectly, mirroringsubmitter-reputation.ts's own query shape; also registered the synthetic repos an install-wide test needs (the cross-repo query joins onrepositories.installation_id), and repointed a stalereview_targetsbackdatingUPDATEatpull_requests(orb(security): reputation burst-downgrade fails OPEN — suspected abusers get LESS review (LIVE in prod) #9015 already repointed the cadence query itself).Test plan
npx tsc --noEmit -p tsconfig.json --incremental false— cleantest/unit/reputation-wiring.test.ts,test/unit/queue-5.test.ts,test/unit/linked-issue-label-propagation-fetch.test.ts,test/unit/predicted-gate-engine.test.ts,test/unit/config-templates.test.ts,test/unit/loopover-engine-scaffold.test.ts,test/contract/engine-parity.test.ts,test/unit/engine-parity-fixtures.test.ts)npm run db:migrations:check/npm run cf-typegen/npm run selfhost:env-reference— clean, no driftorigin/main, re-verified after rebaseNot run locally: the full
npm run test:coverage/test:cigate (this repo's other workspace packages — mcp/miner/ui-kit — weren't built in this worktree, which produces unrelatedENOENT/missing-dist noise on an unscopedvitest run; CI builds everything properly).