cmux NEXT: debug seed_rows can walk the subagent tray through its life
Leo, 2026-10-26, on the subagent tray: "When I said to animate this stuff in line with everything else, like when you open, when you close, this too, something running, whatever, this more slightly more dynamic. ... Like why is this not animating and, like, following along with the exact same things as everything else?"
#25719 made the tray move, but no real-app capture could show it. The showcase mock never starts a subagent, and seed_rows only had mixed, short, worked-turn, incoming and shared. This is a debug-only fixture plus a capture state, so a capture mini can record the tray at any commit.
-
debug.agent_pane seed_rowswithfixture: "subagents"(webviewssubagentsFixture.ts):countpicks one step of the tray's life, and each call replaces the rows with that step's.- 0: the ask and the answer.
- 1: two background subagents start (Reviewer, then Auditor).
- 2: a received agent message arrives in the transcript.
- 3: Reviewer completes.
- 4: Auditor completes.
- 5: the group is gone.
Every step keeps the same row ids and times (one origin, kept from step 0), so a step changes only what it moves. There is no timer: the capture's steps set the pace.
-
scripts/cmux-next/media/states/subagent-tray.json: thecmux-ci capturestate (--showcase, frames at 0.25 s). It opens a chat, walks the six steps, and clicks the tray header to fold it shut and open between steps 1 and 2. Run it with:cmux-ci capture SHA --state scripts/cmux-next/media/states/subagent-tray.json --video. -
incomingFixture.tsnow exportsreceived, so the message is the received-message card's own row.
Risk: none for users. The new branch runs only from the DEBUG debug.agent_pane socket method (window.cmuxAcpmuxDebug). No shipped code path calls it.
Tests (via cmux-ci test): fmt and tsc are clean. New: test/agent-pane-subagents-fixture.test.ts. It reads each step through the tray's own lists (trayItems, finishedTrayItems): what runs, what ended, and the message from step 2; and it checks that ids and times are stable. agent-pane-incoming-fixture passes. tour.py --check fails on base (cloud-machine-menu.json step 2 record), not on this PR.
Capture: a real-app recording from a dev build of this head is in progress and will be added here.
Agent session: agent session
š¤ Generated with Claude Code