fix(review): replay linked issue one-shot blockers - #4732
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4732 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 441 441
Lines 38741 38749 +8
Branches 14117 14120 +3
=======================================
+ Hits 36504 36512 +8
Misses 1577 1577
Partials 660 660
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-11 00:27:06 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Closes the codecov/patch gap: a failed replay read (fail-safe fall through), an "addressed" prior verdict in block mode (no blocker pushed), and an unaddressed prior verdict outside block mode (reused for display, no hard blocker).
24d51b6 to
c3f9813
Compare
…es (#4814) * test(unit): split queue.test.ts and backfill.test.ts into smaller files queue.test.ts (33,461 lines / 810 tests) and backfill.test.ts (6,874 lines / 236 tests) each ran as one atomic unit under a single vitest worker -- queue.test.ts alone accounted for ~282s (roughly half the wall-clock) of the full coverage run's ~565s duration, since vitest schedules whole test files to workers and can't parallelize within one file. Split each into several files along safe, verified boundaries (no shared mutable state crosses a file boundary; hoisted helper functions used across sections were promoted into each file's shared header). Test count and pass/fail results are identical before and after (810 and 236 tests respectively, all passing) -- verified via `vitest run` on the full old-vs-new file sets. Also fixes two stale comments in src/queue/processors.ts that named the old monolithic queue.test.ts file for a test that moved. * fixup: port #4757's e2e-test-gen changes into split queue-5.test.ts Rebasing onto main picked up #4757 (feat(review): decouple e2e-test-gen auto-trigger and widen checkbox auth), which touched the monolithic queue.test.ts before it was split. That content now lives in queue-5.test.ts, so port the same test changes there: the new autoTrigger opt-in on seedAutoTriggerPr, its three new/updated tests, and the [BETA] badge text update. Verified against main's actual source change (src/queue/processors.ts already carries the [BETA] label) and a full run of all 6 split queue files: 813 tests passing (810 + 3 new). * fixup: port #4732, #4659, #4816 test changes into split queue files * fixup: port #4732 and #4816 test changes into split queue files * fixup: port latest main's queue.test.ts changes into split queue-4.test.ts
Motivation
linked_issue_scope_mismatchfindings and allowed a previously-blocked PR to become unblocked on later automatic triggers.Description
getLatestPublishedLinkedIssueSatisfactiontosrc/db/repositories.tsto fetch the latest stored linked-issue satisfaction row for a given (repo, pull, linked issue) regardless of head SHA or fingerprint.src/queue/processors.tsupdate the one-shot linked-issue skip path to callgetLatestPublishedLinkedIssueSatisfactionand, when a priorokresult exists, reuse its verdict and push alinked_issue_scope_mismatchfinding intoadvisory.findingswhen the prior verdict wasunaddressedand the repo is inblockmode.test/unit/linked-issue-satisfaction-cache.test.tsand a regression test intest/unit/queue.test.tsasserting a repeat one-shot trigger does not spend a fresh LLM call but still produces a gate failure via the cachedlinked_issue_scope_mismatchblocker.Testing
npm exec vitest run test/unit/linked-issue-satisfaction-cache.test.ts test/unit/queue.test.ts -- -t "linked-issue satisfaction cache|hasPublishedLinkedIssueSatisfaction|getLatestPublishedLinkedIssueSatisfaction|one-shot AI review cadence", and the tests passed.npm run typecheck, which completed successfully.Codex Task