fix: preserve agent stream timeline position#1424
Conversation
|
Ready to review this PR? Stage has broken it down into 3 individual chapters for you:
Chapters generated by Stage for commit 91da46b on Jul 15, 2026 5:56pm UTC. |
Keep a streamed agent reply at the timestamp and ordering of its displayed preview when the durable final record replaces it. Fixes #1372
|
Warning Review limit reached
Next review available in: 31 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 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 |
55dbda2 to
2994a75
Compare
Preview APK for PR #1424Home-screen label: 1424 White Noise with the blueprint launcher icon — installs side-by-side with the production and staging apps. Install directly — one tap, no GitHub sign-in (public, content-addressed Every push to this PR rebuilds and updates this comment. |
Pip adversarial reviewBLOCKING:
SUGGESTION:
NITPICK:
SUMMARY: The common live reconciliation path is small and correctly captures the preview before VERDICT: REQUEST_CHANGES |
Rebuild stream start and final sort positions from the persisted final-to-start-to-prompt relationship on page replacement and live batches. Preserve rows that were already displayed while keeping new batch projection independent of record order.\n\nFixes #1372
|
Addressed the blocking review in 91da46b.
Local: Source prerequisite: current MDK does not emit the protocol's optional |
Summary
stream-start-> startparent-> prompt chainDependency
The Marmot stream protocol supports the
parenttag, but the current MDK agent-control path does not emit it. marmot-protocol/mdk#876 tracks propagating the triggering prompt ID into kind-1200 stream-start events. This PR intentionally does not infer a prompt from nearest-message or receive-time heuristics because those corrupt historical sync ordering.Test plan
./gradlew ktlintCheck./gradlew testDevPlayDebugUnitTestAgentStreamPreviewTestFixes #1372