Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused bug fix that correctly records superseded running turns as interrupted instead of completed, with a matching regression test. It introduces no schema, configuration, deployment, security, billing, or static-analysis changes. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughWhen a new active turn replaces a running turn on the same thread, the projection now marks the prior turn as ChangesTurn projection state
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The narrow projection correction and regression test present no identified merge-blocking behavior. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What Changed
When a new active turn replaces a still-running turn, the projection now marks the earlier turn
interruptedinstead ofcompleted. The existing regression asserts that state while preserving the settlement timestamp and the new turn's running state.Why
A new turn is not evidence that the previous turn completed successfully. After a provider interruption without a terminal event, the previous behavior hid unfinished work as completed. The change only affects superseded running turns; existing terminal turns keep their state.
Verification
completedinstead of expectedinterrupted.node_modules/.bin/vitest run apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts: 34 tests passed.expo-image-manipulator@57.0.17. The isolated checkout was provisioned withpnpm install --frozen-lockfile --filter t3... --config.minimumReleaseAge=0; Vite+ checks used the same temporary environment override. No manifest or lockfile changed. The direct Vitest confirmation above used the already-installed dependencies.Checklist
Generated by gpt-6-astra using the Codex harness.
Summary by CodeRabbit