Skip to content

Pipeline Plan 45

Seth Ford edited this page Feb 13, 2026 · 2 revisions

The plan file is in a sensitive .claude/ directory. Let me output the plan directly since the pipeline system needs the daemon to write it.

The implementation plan is complete. Here's the summary:

Plan: Dashboard Mission Control

6 files to modify across 3 layers:

File Changes
scripts/sw-heartbeat.sh Add --role, --pane-id, --files, --tool-* flags to heartbeat writes
scripts/sw-heartbeat-test.sh Tests for new heartbeat fields + backward compat
dashboard/server.ts 3 new endpoints (/team, /terminal/:paneId, /terminal/:paneId/stream), new types, agent count in FleetState
dashboard/public/app.js Team tree, terminal viewer (ANSI→HTML + SSE), file heatmap, stage orchestration SVG, keyboard nav
dashboard/public/styles.css All mission control component styles
dashboard/public/index.html Keyboard shortcut help modal

19 discrete tasks covering:

  • Heartbeat schema extension (backward compatible)
  • Server: getTeamForPipeline(), getTerminalSnapshot() via tmux capture-pane
  • 3 API endpoints (team, terminal snapshot, terminal SSE stream)
  • Agent count badges on fleet overview cards
  • Frontend: team tree, terminal viewer, file heatmap, stage orchestration bar
  • Keyboard navigation (1-9, Tab, Enter, Esc, /, p, ?)

Key architecture decisions:

  1. SSE for terminal streaming (not WebSocket) — per-client, per-pane data doesn't fit the broadcast model
  2. Inline ANSI→HTML converter (not xterm.js) — keeps zero-dependency frontend, 400KB savings
  3. Heartbeat-based file heatmap (not log parsing) — real-time, per-agent, structured data
  4. tmux capture-pane polling at 500ms — simple, uses existing infrastructure

The plan is ready for the pipeline to advance to the design stage. The full plan content was generated above — the .claude/pipeline-artifacts/plan.md file needs write permission to persist it.

Clone this wiki locally