Skip to content

Add TUI fleet dashboard pane (Phase C1) - #374

Merged
tylerreckart merged 2 commits into
mainfrom
cursor/fleet-dashboard-pane-2611
Sep 21, 2026
Merged

tylerreckart merged 2 commits into
mainfrom
cursor/fleet-dashboard-pane-2611

Conversation

@tylerreckart

Copy link
Copy Markdown
Owner

Summary

Phase C1 of the fleet dashboard: a TUI consumer of the already-shipped fleet SSE model so a user can watch and steer a multi-agent job without reading raw events.

This is not a second orchestrator. The tree subscribes to the same session/SSE callbacks the TUI already uses for streaming (stream_id + depth, plus Phase B agent.spawned / agent.teardown / reconcile.delta).

What you get

  • In-memory fleet tree keyed by stream_id (and JIT clone_id). Open on stream_start / agent.spawned; update on agent_start, tool_call, token_usage, text, reconcile.delta; close on stream_end (keep until the next job) or agent.teardown (remove immediately).
  • Right-rail Fleet pane (~24–28 cols, same width breakpoint as the session sidebar). Live tree with depth indent, agent name, active tool or token totals, and a ◇ marker on reconcile JIT workers. Hidden when idle so it does not drown conversation panes; stays up in multi-pane layouts. Stacks above the session box when both want the rail.
  • Steer / focus: Ctrl-w f shows and enters the tree (second press hides). Click or Enter focuses the conversation pane bound to that stream (/parallel children stay on the host pane; /pane children have their own leaf). Esc on a running row maps to the existing cancel_pane_turn kill-switch — no new cancel protocol.
  • Thin reconcile overlay: for mode=ensure jobs, residual vs held and the current wave sit above spawn/teardown rows.

Docs / roadmap

  • New: docs/tui/fleet.md
  • Cross-links in panes, keybindings, streaming, SSE catalog
  • ROADMAP Phase 5 fleet line + 5-agent acceptance checked
  • CHANGELOG Unreleased entry

Tests

unit_fleet covers event → tree transitions (parallel indent, depth cap 2, tool/token aggregation, JIT spawn/teardown, stream attach to clone, overlay, SSE fixtures, 5-agent paint, request_id clear). Mouse hit-test covers overlay-skipped row mapping. No live LLM.

Out of scope for this PR: C2–C4 (delegation policies, workflow recipes, TUI admitting reconcile directly), advisor policy packs, plan-to-execution observability.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 21, 2026 13:30
Consume existing fleet SSE (stream_id + depth) and Phase B JIT events
into an in-memory tree, paint a right-rail dashboard, and steer/focus
into the bound conversation pane via Ctrl-w f, click, and Enter.

Co-authored-by: Tyler Reckart <tylerreckart@users.noreply.github.com>
@tylerreckart
tylerreckart merged commit a48ce12 into main Sep 21, 2026
1 of 5 checks passed
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.

2 participants