feat(web): surface orchestration agents in the timeline - #4664
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Your free Security trial is over. An organization admin can upgrade to Advanced for continuous pull request security review or dismiss this notice. Comment |
940e8fb to
c3a50f8
Compare
d2ef6c7 to
adb1e9b
Compare
c3a50f8 to
8c6a796
Compare
adb1e9b to
39912b0
Compare
8c6a796 to
103b937
Compare
39912b0 to
6bc3a8d
Compare
103b937 to
31adb36
Compare
6bc3a8d to
05fe44c
Compare
31adb36 to
b270c47
Compare
05fe44c to
7458298
Compare
b270c47 to
daf1a88
Compare
7458298 to
4daeac4
Compare
daf1a88 to
1dce464
Compare
4daeac4 to
095cab7
Compare
1dce464 to
4c169ed
Compare
095cab7 to
1d37a6f
Compare
4c169ed to
70d5111
Compare
1d37a6f to
6cf67a2
Compare
70d5111 to
c78d0ff
Compare
6cf67a2 to
5e3c535
Compare
c78d0ff to
a997806
Compare
5e3c535 to
2430736
Compare
There was a problem hiding this comment.
One finding on the new Agents CTA row in MessagesTimeline.tsx: its trailing metadata group can't shrink, so a provider-supplied workflow phase title overflows the row on narrow chat columns. Details inline.
Posted via Macroscope — UI Consistency
c01ff20 to
9d2539a
Compare
5f84c34 to
1122085
Compare
|
Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies. |
1122085 to
014efe5
Compare
a6e0049 to
50a57b6
Compare
81215e7 to
9ed33ba
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6f53d1a. Configure here.
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |

Orchestrator V2 already projects native subagents, and the existing Agents panel already owns their live detail. The remaining problem is presentation: chat repeats one lifecycle row per agent, duplicating the roster and stretching the turn.
This PR keeps the existing orchestration semantics and:
There are no server, contract, persistence, provider-adapter, recovery, client-runtime, or mobile behavior changes.
Screenshots
Verification
Built and tested with GPT-5.6-Sol in the Codex harness through T3 Code.
Note
Low Risk
UI-only timeline presentation and row derivation; no auth, API, or persistence changes, with a safe fallback when the Agents opener is omitted.
Overview
Local subagent events in the chat timeline are collapsed into one summary row per run (or per attempt / orphan item) instead of repeating a lifecycle card for every agent, while inherited fork projections still render as normal event rows.
deriveMessagesTimelineRowsgains optionalsummarizeSubagentsand buildsagent-spawnrows with aggregate working, idle, failed, and stopped counts; non-representative entries in a group are dropped from the list. Summarization turns on only whenMessagesTimelinereceivesonOpenAgents—ChatViewwires that to the existing Agents panel opener.The new
AgentSpawnCtaRowis a single clickable control (“Kicked off N agents…”, failure styling when needed, Open Agents / View) so roster detail stays in the Agents panel. WithoutonOpenAgents, behavior stays the old per-event rows. Stable row comparison and tests cover grouping, idle vs completed, superseded attempts, and cache refresh when agent status changes.Reviewed by Cursor Bugbot for commit a61796e. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add grouped agent-spawn summary rows to
MessagesTimelinetimelineChatViewpasses its existing Agents-surface opener toMessagesTimelinevia a new optional callback prop, enabling subagent summarization only when the callback is presentderiveAgentSpawnSummariesin MessagesTimeline.logic.ts aggregates local subagent events into per-run, per-attempt, or per-item groups, suppressing later entries in each group and exposing working, idle, failed, and stopped countsAgentSpawnCtaRowcomponent renders each summary as a clickable control showing total and status counts; active groups offer "Open Agents" and settled groups offer "View", with destructive styling for failuresMessagesTimelinenow displays grouped summary rows instead of individual local subagent events when the Agents opener is provided; without it, rendering is unchanged. The newagent-spawnvariant inMessagesTimelineRowmust be handled by any consumer of that unionMacroscope summarized 62d1993.