-
Notifications
You must be signed in to change notification settings - Fork 1
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:
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()viatmux 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:
- SSE for terminal streaming (not WebSocket) — per-client, per-pane data doesn't fit the broadcast model
- Inline ANSI→HTML converter (not xterm.js) — keeps zero-dependency frontend, 400KB savings
- Heartbeat-based file heatmap (not log parsing) — real-time, per-agent, structured data
- 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.