Repository navigation
test(update): isolate campaign RPC ledger state - #139116
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
Give each campaign test an owned temporary state home and await cleanup, matching the other update RPC fixtures. This prevents active campaign rows from leaking into later status tests in the full release CI shard.
f27009c to
1f1c1ab
Compare
|
Codex review: needs maintainer review before merge. Reviewed September 5, 2026, 9:56 AM ET / 13:56 UTC. ClawSweeper reviewWhat this changesGive each update-campaign RPC test its own temporary state directory and await cleanup so ledger records cannot leak into later tests. Merge readiness✅ Ready for maintainer review Keep open: this is a focused repair for a source-supported test-state leak that remains on current main. No blocking correctness findings were found. Priority: P2 Review scores
Verification
How this fits togetherGateway update RPCs record update progress in a SQLite ledger, which status RPCs subsequently read. These tests exercise that real ledger while mocking package updates and restarts. flowchart TD
A[Campaign test] --> B[Temporary state home]
B --> C[Gateway update RPC]
C --> D[Update ledger]
D --> E[Await database cleanup]
E --> F[Restore previous environment]
F --> G[Later status test]
Before mergeNone. Agent review detailsSecurityNone. PR surfaceTests +10. Total +10 across 1 file. View PR surface stats
Review metrics
Technical reviewBest possible solution: Keep isolation at the campaign fixture through the existing temporary-home lifecycle, preserving real ledger coverage and strict status assertions. Do we have a high-confidence way to reproduce the issue? Yes: the campaign-to-effective-channel sequence shares persistent ledger state on main, and the PR supplies an ordered failing/passing reproduction. This review verified the mechanism without executing tests. Is this the best way to solve the issue? Yes: the producing fixture owns the leaked state, and sibling suites already use this lifecycle; mocking the ledger or relaxing status assertions would reduce coverage. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 44378c46bb04. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
|
Merged via squash.
|
Give each campaign test an owned temporary state home and await cleanup, matching the other update RPC fixtures. This prevents active campaign rows from leaking into later status tests in the full release CI shard.
What Problem This Solves
Resolves a problem where full release verification fails the Gateway update-status test after campaign RPC tests have run in the same worker.
Why This Change Was Made
The campaign fixture invokes the real update-run ledger but did not own an isolated state directory. An active
campaign-1row survived into the later status test. Reuse the existing temporary-home lifecycle at the producing fixture, as the other update RPC suites already do, and await cleanup before restoring the environment.User Impact
No product behavior changes. Release verification retains its strict status assertions without sharing campaign records between tests.
Evidence