Repository navigation
Conversation
…g spec #8086 made withFencedExecutionWrite call getScopedTransactionDbExec, and #7971 then landed a spec whose db/client mock doesn't export it. The "does not report a repair the run's own process makes of its own row" case now fails on main, and with it Fast tests lane-7 on every PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
PR #8121 makes a one-line test-only update to the run-store.reaped-run-tracking Vitest mock by adding the missing getScopedTransactionDbExec export. This addresses the reported failure caused by the mock lagging behind the database client API after withFencedExecutionWrite began importing that helper. The explicit undefined value models the helper's runtime result outside a scoped transaction, so the tested write continues through the normal transaction path. The change is isolated and the approach is sound; independent reviews found no actionable correctness issues. Risk assessment: low, because this is a spec-only mock update with no production behavior change. 🧪 Browser testing: Skipped — PR only modifies a test, with no user-facing browser impact.
|
Superseded by #8120, which landed the same one-line mock fix. |
Fast tests lane-7 fails on main and on every PR based on it. One case in
run-store.reaped-run-tracking.spec.tsthrows:This comes from two PRs that each passed CI on their own:
withFencedExecutionWrite(agent/execution-fence.ts) callgetScopedTransactionDbExec().db/client.jsmock predates that call, so it doesn't export the function.The failing case is "does not report a repair the run's own process makes of its own row".
This adds
getScopedTransactionDbExec: () => undefinedto the spec's mock. That's the value outside a scoped transaction, so the fence takes its normal path. Only the test changes, so no changeset is needed.#8107 carries the same line as part of a larger Design change. The two edits are identical, so whichever lands second merges cleanly.
Validation: on a checkout containing both #7971 and #8086, the spec fails 1 of 16 without the line and passes 16 of 16 with it. It failed the same way on #8017's lane-7 twice.
🤖 Generated with Claude Code