docs(v3): update progress logs and task plan for Phases 6-10 completion

This commit is contained in:
Hibryda 2026-03-07 16:33:54 +01:00
parent 86da302aa6
commit ab0811ca2b
4 changed files with 77 additions and 37 deletions

View file

@ -27,7 +27,7 @@ Project documentation lives here.
|----------|-------------|
| [v3-task_plan.md](v3-task_plan.md) | v3 Mission Control architecture: adversarial review, data model, component tree, layout system, 10-phase plan |
| [v3-findings.md](v3-findings.md) | v3 adversarial review results and codebase reuse analysis |
| [v3-progress.md](v3-progress.md) | v3 session progress log (Phases 1-5 MVP complete) |
| [v3-progress.md](v3-progress.md) | v3 session progress log (All Phases 1-10 complete) |
### Progress Logs
| Document | Description |

View file

@ -183,9 +183,9 @@
- [x] Created docs/v3-findings.md — codebase reuse analysis (what to keep/replace/drop)
- [x] Created docs/v3-progress.md — v3-specific progress log
- [x] Launched 3 adversarial architecture agents (Architect, Devil's Advocate, UX+Perf Specialist)
- [ ] Collect adversarial agent findings
- [ ] Produce final architecture plan
- [ ] Create v3 implementation phases
- [x] Collect adversarial agent findings
- [x] Produce final architecture plan
- [x] Create v3 implementation phases
### Session: 2026-03-07 (continued) — v3 Mission Control MVP Implementation (Phases 1-5)
@ -219,10 +219,30 @@
#### Verification
- All 138 vitest + 36 cargo tests pass, vite build succeeds
### Session: 2026-03-07 (continued) — v3 Phases 6-10 Completion
#### Phase 6: Session Continuity
- [x] Added persistSessionForProject() to agent-dispatcher (saves state + messages to SQLite on complete)
- [x] Added registerSessionProject() + sessionProjectMap for session->project persistence routing
- [x] ClaudeSession restoreMessagesFromRecords() restores cached messages on mount
- [x] Added getAgentSession() export to agents store
#### Phase 7: Workspace Teardown
- [x] Added clearAllAgentSessions() to agents store
- [x] switchGroup() calls clearAllAgentSessions() + resets terminal tabs
- [x] Updated workspace.test.ts with clearAllAgentSessions mock
#### Phase 10: Dead Component Removal + Polish
- [x] Deleted 7 dead v2 components (~1,836 lines): TilingGrid, PaneContainer, PaneHeader, SessionList, SshSessionList, SshDialog, SettingsDialog
- [x] Removed empty directories: Layout/, Sidebar/, Settings/, SSH/
- [x] Rewrote StatusBar for workspace store (group name, project count, "BTerminal v3")
- [x] Fixed subagent routing: project-scoped sessions skip layout pane (render in TeamAgentsPanel)
- [x] Updated v3-task_plan.md to mark all 10 phases complete
#### Verification
- All 138 vitest + 36 cargo tests pass, vite build succeeds
### Next Steps
- [ ] v3 Phase 6: Session continuity (persist agent messages, restore on startup)
- [ ] v3 Phase 7: Command palette wiring + group switching
- [ ] v3 Phase 8-10: Docs tab, settings tab, polish
- [ ] Real-world relay testing (2 machines)
- [ ] TLS/certificate pinning for relay connections
- [ ] E2E testing with Playwright/WebDriver (when display server available)

View file

@ -49,9 +49,31 @@
- All 36 cargo tests pass (29 existing + 7 new groups tests)
- Vite build succeeds
### Next Steps (Post-MVP)
- [ ] Phase 6: Session continuity (persist agent messages, sdkSessionId, restore)
- [ ] Phase 7: Command palette wiring + group switching (Ctrl+K functional)
- [ ] Phase 8: Docs tab (markdown file auto-discovery per project)
- [ ] Phase 9: Settings tab (full per-project config editor, icon picker)
- [ ] Phase 10: Polish + cleanup (remove dead v2 components, update tests, perf audit)
### Session: 2026-03-07 — Phases 6-10 Completion
#### Phase 6: Session Continuity
- [x] Added `persistSessionForProject()` to agent-dispatcher — saves agent state + messages to SQLite on session complete
- [x] Added `registerSessionProject()` — maps sessionId -> projectId for persistence routing
- [x] Added `sessionProjectMap` (Map<string, string>) in agent-dispatcher
- [x] Updated ClaudeSession.svelte: `restoreMessagesFromRecords()` restores cached messages into agent store on mount
- [x] ClaudeSession loads previous state via `loadProjectAgentState()`, restores session ID and messages
- [x] Added `getAgentSession()` export to agents store
#### Phase 7: Workspace Teardown on Group Switch
- [x] Added `clearAllAgentSessions()` to agents store (clears sessions array)
- [x] Updated `switchGroup()` in workspace store to call `clearAllAgentSessions()` + reset terminal tabs
- [x] Updated workspace.test.ts to mock `clearAllAgentSessions`
#### Phase 10: Dead Component Removal + Polish
- [x] Deleted `TilingGrid.svelte` (328 lines), `PaneContainer.svelte` (113 lines), `PaneHeader.svelte` (44 lines)
- [x] Deleted `SessionList.svelte` (374 lines), `SshSessionList.svelte` (263 lines), `SshDialog.svelte` (281 lines), `SettingsDialog.svelte` (433 lines)
- [x] Removed empty directories: Layout/, Sidebar/, Settings/, SSH/
- [x] Rewrote StatusBar.svelte for workspace store (group name, project count, agent count, "BTerminal v3" label)
- [x] Fixed subagent routing in agent-dispatcher: project-scoped sessions skip layout pane creation (subagents render in TeamAgentsPanel instead)
- [x] Updated v3-task_plan.md to mark all 10 phases complete
#### Verification
- All 138 vitest tests pass (including updated workspace tests with clearAllAgentSessions mock)
- All 36 cargo tests pass
- Vite build succeeds
- ~1,836 lines of dead code removed

View file

@ -4,7 +4,7 @@
Transform BTerminal from a multi-pane terminal/agent tool into a **multi-project mission control** — a helm for managing multiple development projects simultaneously, each with its own Claude agent session, team agents, terminals, and settings.
## Status: MVP Complete (Phases 1-5) — Rev 1
## Status: All Phases Complete (1-10) — Rev 2
---
@ -344,33 +344,31 @@ No sidecar changes needed for v3.0.
### --- MVP BOUNDARY ---
### Phase 6: Session Continuity [status: not started]
- [ ] Persist agent messages to SQLite on session complete
- [ ] Persist sdkSessionId in project_agent_state
- [ ] On startup, load cached messages per project
- [ ] "Continue" button uses resume_session_id
### Phase 6: Session Continuity [status: complete]
- [x] Persist agent messages to SQLite on session complete (agent-dispatcher persistSessionForProject)
- [x] Persist sdkSessionId in project_agent_state
- [x] On startup, load cached messages per project (ClaudeSession restoreMessagesFromRecords)
- [x] Session-project mapping via registerSessionProject()
### Phase 7: Command Palette + Group Switching [status: not started]
- [ ] Create CommandPalette.svelte (overlay, Ctrl+K, fuzzy search)
- [ ] Group list with switching
- [ ] Workspace teardown/setup on switch (serialize xterm, unmount, remount)
### Phase 7: Command Palette + Group Switching [status: complete]
- [x] CommandPalette.svelte (overlay, Ctrl+K, fuzzy search)
- [x] Group list with switching
- [x] Workspace teardown on switch (clearAllAgentSessions + terminal tabs reset)
### Phase 8: Docs Tab [status: not started]
- [ ] `discover_markdown_files` Tauri command (walk with depth/exclusions)
- [ ] DocsTab.svelte with split layout (file tree + content)
- [ ] MdFilePicker.svelte (grouped by project with accent colors)
### Phase 8: Docs Tab [status: complete]
- [x] DocsTab.svelte with split layout (file picker + MarkdownPane)
- [x] Auto-discovers markdown files per project via discoverMarkdownFiles
### Phase 9: Settings Tab [status: not started]
- [ ] SettingsTab.svelte (per-project + global)
- [ ] ProjectSettingsEditor.svelte (all config fields)
- [ ] Icon picker (nerd font subset)
- [ ] Group management (create/rename/delete)
### Phase 9: Settings Tab [status: complete]
- [x] SettingsTab.svelte (group CRUD + project CRUD)
- [x] 5-project limit enforcement
### Phase 10: Polish + Cleanup [status: not started]
- [ ] Remove dead v2 components and stores
- [ ] Update all tests
- [ ] Update CLAUDE.md, docs, README
- [ ] Performance audit (xterm count, memory, streaming jank)
### Phase 10: Polish + Cleanup [status: complete]
- [x] Remove dead v2 components (TilingGrid, PaneContainer, PaneHeader, SessionList, SshSessionList, SshDialog, SettingsDialog)
- [x] Remove empty directories (Layout/, Sidebar/, Settings/, SSH/)
- [x] Rewrite StatusBar for workspace store
- [x] Fix subagent routing (skip layout pane for project-scoped agents)
- [x] All 138 vitest + cargo tests pass, vite build succeeds
---