Add fleet sidebar to the dashboard session view - #499
Conversation
Implementation PlanBasis: assessment of issue 323 (three Explore passes plus spot verification this session; dashboard files unchanged since). Evidence: the client state layer ( Problem analysisThe session view and subagent drill-in have zero fleet visibility. All needed data is already client-side, so this is a pure client UI change — no server, protocol, or API work. Decisions shaping the plan (from the issue thread and assessment):
Deliverables
Acceptance criteria
Files
Testing approach
Risks and open questions
Plan created by mach6 |
Progress UpdateImplemented the full plan from the mach6-plan comment. All client-only — no server, protocol, or API changes. What landed (commit fd8bdab):
Tests
Verification: Docs: root README (Full-parity session view + responsive paragraph), Open item (from the plan): the issue body still says "Mobile: not required for v1" / "likely desktop-only" — the earlier body edit failed on permissions (no Progress tracked by mach6 |
Progress UpdateAdded the per-session liveness registry that the fleet sidebar relies on:
Sanity: biome clean, all 20 new tests pass, Commit: Progress tracked by mach6 |
Unverified Review Candidates — Pending AssessmentReview round: 1
CriticalF1 —
ImportantF2 — The closed mobile drawer remains keyboard-focusable and exposed to assistive tech; opening it does no focus management (confidence 90) F3 — On mobile, pressing Escape with the drawer open ALSO stops the agent (AskWizard Escape-to-stop) — an unintended turn abort (confidence 88) F4 —
F5 — Live status change on an EXISTING sidebar entry is untested: chips flipping in place, and order never changing, have no real test (confidence 95) F6 — The documented Escape-to-close path has no test, and it is the only working Escape path (confidence 95) SuggestionsF7 — F8 — The fleet page inlines a byte-identical copy of F9 — Both screens compute the full sorted sidebar array just to derive a boolean (confidence 90) F10 — The mobile drawer ignores the safe-area insets the owner decision requires (confidence 82) F11 — F12 — Runtime removal while mounted (sidebar unmounts; F13 — Clicking a sidebar entry whose runtime just died is untested (confidence 85) F14 — The new drawer Escape handler collides with the pre-existing unconditional stats-popover Escape handler (confidence 82) Strengths
Agents run: code-reviewer, error-auditor, test-reviewer, completeness-checker, simplifier (all five, round 1). Verified at review time: Reviewed by mach6 |
Review AssessmentFindings comment: #499 (comment) Assessed against the actual code at Classifications
Assessor's independent scan found no additional candidates at the ≥80-confidence / three-gates bar. Minor observations from the scan, all discarded: Action PlanMerge blockers only, in priority order:
Assessment by mach6 |
Closes #323
Adds a collapsible fleet sidebar to the dashboard session view (and the subagent drill-in): other live sessions with live status chips, needs-attention/error highlighting with deterministic ordering (no re-sort), click-through navigation, a browser-local persisted collapse preference, and a mobile overlay drawer (hidden by default, session-bar toggle, tap-outside close).
Client-only change — no server, protocol, or API changes.
Implementation plan posted as a comment below.