feat(inspector): show live workflow agent rows

Merged
TE
9d ago
+518-36

Session Info's Labs-only Live Workflow View shows each agent in an open phase with its state, elapsed time, model, optional effort, and last message or current action. The shipped detail row gives the name and model separate lines so long models truncate at the supported 260px width. Compact and grid alternatives stay in the gallery.

Workflow agent IDs do not identify ordinary folded subagent nodes. Rows call only onOpenWorkflowAgent(agent) with the full agent. Without that bridge they render plain content, with no button role, disabled state, focus stop or hover affordance. With the bridge they render enabled buttons whose accessible name includes every shown detail. The App-level bridge is supplied by #27008.

Rows retain their workflowAgentKey identity as events arrive. The existing useNow clock runs while any workflow runs, including before its agents arrive, stops when all workflows finish, and cleans up on unmount or while the page is hidden. No new token-driven traversal was added.

Validation at 87209c349a8d58b51714b52c8104c0ed523e0e5a:

  • Node 24 scripts/web-lint.sh: passed in 13.3s.
  • bun test test/workflow-tasks.test.tsx: 16 passed, 0 failed, including ChatInspector with/without the workflow opener, all three accessible labels, opener behavior, and empty-agent clock coverage.
  • A 260px gallery play asserts the panel width, visible agent name, and separate model/state/time columns. The advisory capture below rendered this state in dark and light themes.
  • Current-head CI: no dispatched run confirmed; broker GitHub login is down. The preceding head's combined CI passed. Its extra gallery command selected zero cases, so browser evidence comes from the advisory below.
  • Independent Codex Astra high source review: SHIP at this head. Receipt publication is pending restoration of the broker GitHub login.

Risk: normal. The surface remains behind the existing workflow Labs gate. Session Info layout and card order, the transcript card, and message rows are unchanged.

Before/after visual evidence at the preceding head: gallery advisory run 40779169288. Its artifact is gallery-advisory-26990-7f2c197e7c36fdcfa5fc04caccf84113c2d53fce. The advisory rendered five states in dark and light themes: workflow-running, workflow-agent-row-compact, workflow-agent-row-detail, workflow-agent-row-grid, and workflow-agent-row-narrow (the 260px panel), under agent-pane.chat-inspector. The existing running-workflow state has before/after images; newly added states have head-only images. The broker cannot download artifact binaries, so the run/artifact link is the visual-evidence fallback; PNGs are not embedded here.

Gallery: agent-pane.chat-inspector/workflow-running, agent-pane.chat-inspector/workflow-agent-row-compact, agent-pane.chat-inspector/workflow-agent-row-detail, agent-pane.chat-inspector/workflow-agent-row-grid, agent-pane.chat-inspector/workflow-agent-row-narrow

Leo's words:

"Like you need to be more ambitious, really. Like the whole dynamic workflow situation. I don't know if you already have the UI for that, how good it is, if you guys have tested it out yet. But, you know, we need to have that. And likewise, obviously, like the session info area, like that's where the things can be shown, and also the right tab area. All of these, like better and better UI. Just go ahead, man. I feel like you can do a hell of a lot more. More codex, more Claude, more whatever. We have the capacity, so let's use the fucking capacity to go do some more productive fucking work, right?"

agent session