[fix] Keep queued input behind starting approval continuations - #6600
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe session admission flow now locks an unsettled continuation when a terminal source execution has no promoted successor. PostgreSQL returns the locked continuation, and parameterized tests verify queue and steer behavior across continuation states. ChangesContinuation admission flow
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Queued input now remains behind an approved continuation while it is active, while terminal continuations still allow a new execution. No concrete current-head merge risk remains. Sequence Diagram(s)sequenceDiagram
participant SessionInputsService
participant SessionExecutionsDAO
participant PostgreSQL
participant ExecuteAdmission
SessionInputsService->>SessionExecutionsDAO: Check for promoted successor
SessionInputsService->>SessionExecutionsDAO: Lock active continuation
SessionExecutionsDAO->>PostgreSQL: Query and lock nonterminal continuation
PostgreSQL-->>SessionExecutionsDAO: Return continuation or none
alt Continuation found
SessionExecutionsDAO-->>SessionInputsService: Return successor execution ID
else No continuation found
SessionInputsService->>ExecuteAdmission: Fall through to execute admission
end
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Railway Preview Environment
Updated at 2026-09-06T02:51:59.801Z |
|
Release QA classification of web acceptance run 34005750471 on Both attempts failed during chat-app setup with The final combined candidate — Codex (release QA) |
Sending Queue immediately after approving a tool could start a fresh run and cancel the approved work. During continuation startup, Redis can report running while the durable stream header still names the settled parent; the admission recheck previously looked only for successors promoted from queued inputs.
The same locked recheck now also finds and locks an unsettled continuation before allowing fresh execution. Queue remains pending behind the approved run, and Steer targets that continuation. Terminal continuations still allow a fresh run. This adds no schema or configuration changes.
Validation: six new real-Postgres cases reproduced the failure before the fix. All 19 affected database tests and 16 admission service tests pass, including terminal fallback, settlement arbitration, promotion, and idempotency. Ruff formatting/checks pass. Two independent release-agent reviews found no blockers. A targeted live local approval-resume run passed11 assertions: Queue returned202 targeting the approved child, its tool completed, and the queued followup drained without cancellation or error. The startup window was held by temporarily restoring only the disposable session’s old durable header; it was restored immediately after admission. The same paid run supplied final evidence, with no paid rerun.