fix(server): attribute async question replies - #10793
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a narrowly scoped fix that labels asynchronous replies with their originating question and user answer, with a matching test update. It changes only message text in the existing response path and introduces no schema, configuration, security, or deployment risk. 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; 7 remain after this review. 📝 WalkthroughWalkthroughAsync question replies now label the agent’s question and the user’s answer in persisted message text. The orchestration test validates the new format. ChangesAsync answer attribution
Priority: ⬇️ Low — Defer this narrow async question message-formatting change because it only labels agent questions and user answers in the shared server transcript. Estimated code review effort: 1 (Trivial) | ~5 minutes Severity of issue fixed: Low Merge Risk: ⚪ Minimal · up to Async question replies now clearly distinguish the agent’s question from the user’s answer while preserving provider context and attachments. No current merge-blocking risk is identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Async question replies put the agent’s question and the user’s answer in one user bubble without attribution. Label them
Agent question:andUser answer:in the shared server formatter, preserving question context and attachments for the provider.Closes #10786.
Reproduced with the existing engine test: both running and stopped sessions failed the new attribution assertion before the fix. All 29 engine tests now pass, including multiple questions, attachments, restarts, and duplicate replies. Server typecheck, targeted lint, and formatting pass.
Verified the real web transcript with isolated fixtures. Before uses the reproduced original message text; after is generated by the fixed engine. The shared payload serves web, desktop, and mobile; native clients were not separately exercised. Existing stored messages are unchanged.
Before:
After:
Model: GPT-6. Harness: Codex.
Summary by CodeRabbit