Skip to content

fix(cursor): scope assistant message ids by turn after resume#10

Merged
justingray0 merged 1 commit into
mainfrom
fix/cursor-turn-scoped-assistant-messages
Jun 29, 2026
Merged

fix(cursor): scope assistant message ids by turn after resume#10
justingray0 merged 1 commit into
mainfrom
fix/cursor-turn-scoped-assistant-messages

Conversation

@justingray0

Copy link
Copy Markdown
Owner

Summary

  • Scope projected assistant message ids by orchestration turn so Cursor can reuse provider item ids after restart without appending into an earlier completed message.
  • Add a unit regression for cross-turn item id reuse and strengthen the real Cursor resume integration test to assert marker isolation and final message ordering.

Stacked on #9.

Test plan

  • vp test apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts
  • T3_CURSOR_RESUME_E2E=1 vp test cursorResume.integration (optional real-agent verification)

Made with Cursor

@justingray0 justingray0 force-pushed the fix/cursor-acp-resume branch from 8b674d5 to a9a6d39 Compare June 29, 2026 22:37
@justingray0 justingray0 force-pushed the fix/cursor-turn-scoped-assistant-messages branch from 15b1dc3 to 8cd0076 Compare June 29, 2026 22:37
@justingray0 justingray0 changed the base branch from fix/cursor-acp-resume to main June 29, 2026 22:41
When Cursor reuses provider item ids across turns after restart, append
assistant output to a new turn-scoped message at the end of the thread
instead of mutating an earlier completed message.

Co-authored-by: Cursor <cursoragent@cursor.com>
@justingray0 justingray0 force-pushed the fix/cursor-turn-scoped-assistant-messages branch from 8cd0076 to 8c9acea Compare June 29, 2026 22:43
@justingray0 justingray0 merged commit 7a26a9e into main Jun 29, 2026
justingray0 added a commit that referenced this pull request Jul 3, 2026
…istant-messages

Revert #10: scope assistant message ids by turn after resume
justingray0 added a commit that referenced this pull request Jul 4, 2026
…utput, cancel delivery

Applies pingdotgg#3669 on top of the fork's #9 resume/recovery hardening.
Fixes: session/cancel sent as JSON-RPC notification (not request), runtime-unique
ACP segment item ids so resumed sessions render below the latest user message,
agent_thought_chunk parsed as expandable reasoning rows, and a turn-completion
drain race. Supersedes the reverted #10 turn-scoping.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant