Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Greptile SummaryThis PR replaces the mutable
Confidence Score: 3/5The core streaming refactor is architecturally sound, but a gap in the edit_content alias reconstruction after a mid-operation reconnect can silently skip preview cleanup and file-resource promotion, and synthetic seq values from contentBlocksToModel can cause live events to be dropped on resume. Two independent gaps both involve the reconnect path: the edit_content alias isn't rebuiltable from a snapshot when the cursor falls between the call and result events; and contentBlocksToModel sets model.lastSeq = N so live events with wire seq <= N are silently swallowed. turn-model.ts (lastSeq in contentBlocksToModel), handle-tool-event.ts (edit_content alias gap), handle-span-event.ts (isNewLane seq comparison) Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant Go as Go Stream
participant Dispatch as dispatchStreamEvent
participant Model as TurnModel (reduceEvent)
participant Handler as Event Handler
participant React as React / QueryClient
Go->>Dispatch: PersistedStreamEventEnvelope
Dispatch->>Model: reduceEvent(model, envelope)
Model-->>Dispatch: mutated model
Dispatch->>Handler: handleToolEvent / handleSpanEvent
Handler->>React: invalidateQueries, promoteFileResource
Handler->>React: "ops.flush() => modelToContentBlocks"
Note over Go,React: Per-subagent concurrent resume
Go->>Dispatch: checkpoint_pause (frames[])
Handler->>Handler: driveSubagentChains (fan-out)
par Child leg A
Handler->>Go: POST /resume (checkpointId A)
Go-->>Handler: subagent A events
and Child leg B
Handler->>Go: POST /resume (checkpointId B)
Go-->>Handler: subagent B events
end
Handler->>Go: POST /resume (join continuation)
Go-->>Handler: orchestrator stream
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant Go as Go Stream
participant Dispatch as dispatchStreamEvent
participant Model as TurnModel (reduceEvent)
participant Handler as Event Handler
participant React as React / QueryClient
Go->>Dispatch: PersistedStreamEventEnvelope
Dispatch->>Model: reduceEvent(model, envelope)
Model-->>Dispatch: mutated model
Dispatch->>Handler: handleToolEvent / handleSpanEvent
Handler->>React: invalidateQueries, promoteFileResource
Handler->>React: "ops.flush() => modelToContentBlocks"
Note over Go,React: Per-subagent concurrent resume
Go->>Dispatch: checkpoint_pause (frames[])
Handler->>Handler: driveSubagentChains (fan-out)
par Child leg A
Handler->>Go: POST /resume (checkpointId A)
Go-->>Handler: subagent A events
and Child leg B
Handler->>Go: POST /resume (checkpointId B)
Go-->>Handler: subagent B events
end
Handler->>Go: POST /resume (join continuation)
Go-->>Handler: orchestrator stream
|
PR SummaryMedium Risk Overview Parallel subagents and rendering: span-tree parsing gets stable React keys (dispatch Chat performance: Transcript parity: Turn terminals propagate via Reviewed by Cursor Bugbot for commit ed9d5ba. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ed9d5ba. Configure here.

Summary
Adds parallel subagents to the mothership, and also improves streaming performance
Companion: https://github.com/simstudioai/copilot/pull/320
Type of Change
Testing
Manual
Checklist