docs: close out MS19 Chat & Terminal System mission (#523)
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #523.
This commit is contained in:
51
docs/PRD.md
51
docs/PRD.md
@@ -86,6 +86,22 @@ Theme package system, widget registry, WYSIWYG editor, Kanban filtering. PRs #49
|
||||
- Kanban board filtering by project, assignee, priority, search with URL persistence
|
||||
- 1,195 web tests, 3,243 API tests passing
|
||||
|
||||
### MS19-ChatTerminal (v0.1.3) — In Progress
|
||||
|
||||
Real terminal with PTY backend, chat streaming, orchestrator integration. PRs #515-522. Issues #508-512.
|
||||
|
||||
- NestJS WebSocket gateway (/terminal namespace) with node-pty for real shell sessions
|
||||
- Terminal session persistence in PostgreSQL (Prisma model: TerminalSession)
|
||||
- xterm.js integration with FitAddon, WebLinksAddon, CSS variable theme support
|
||||
- Multi-session terminal tabs: create/close/rename, tab switching, session recovery
|
||||
- SSE chat streaming with token-by-token rendering, abort/cancel support
|
||||
- Master chat polish: model selector dropdown, temperature/maxTokens config, ChatEmptyState
|
||||
- Orchestrator command system: /status, /agents, /jobs, /pause, /resume, /help
|
||||
- Agent output terminal: SSE streaming from orchestrator, lifecycle indicators, read-only view
|
||||
- Command autocomplete with keyboard navigation in chat input
|
||||
- 328 MS19-specific tests (268 web + 60 API), 4744 total passing
|
||||
- Pending: deployment and smoke testing
|
||||
|
||||
### Bugfix: API Global Prefix (post-MS18) — Complete
|
||||
|
||||
PR #507. Fixed systemic 404 on all data endpoints.
|
||||
@@ -290,7 +306,7 @@ This is the active mission scope. MS16 (Pages) and MS17 (Backend Integration) ar
|
||||
- UserPreference.theme persists selection across sessions
|
||||
- **Status: COMPLETE (MS18) — PRs #493-495**
|
||||
|
||||
### FR-017: Terminal Panel (MS19)
|
||||
### FR-017: Terminal Panel (MS19) — COMPLETE
|
||||
|
||||
- Bottom drawer panel, toggleable from header and sidebar
|
||||
- Real xterm.js terminal with PTY backend via WebSocket
|
||||
@@ -299,21 +315,24 @@ This is the active mission scope. MS16 (Pages) and MS17 (Backend Integration) ar
|
||||
- Smart terminal operating at project/orchestrator level
|
||||
- ASSUMPTION: Terminal backend uses node-pty for PTY management, communicating via WebSocket namespace (/terminal). Rationale: node-pty is the standard for Node.js terminal emulation, used by VS Code.
|
||||
- ASSUMPTION: Terminal sessions are workspace-scoped and stored in PostgreSQL for recovery. Rationale: Consistent with existing workspace isolation pattern.
|
||||
- **Status: COMPLETE (MS19) — PRs #515 (gateway), #517 (persistence), #518 (xterm.js), #520 (tabs), #522 (agent tabs). 60 API + 176 web tests.**
|
||||
|
||||
### FR-018: Chat Streaming & Master Chat (MS19)
|
||||
### FR-018: Chat Streaming & Master Chat (MS19) — COMPLETE
|
||||
|
||||
- Complete SSE streaming for token-by-token chat rendering
|
||||
- Master chat sidebar (ChatOverlay) polish: model selector, conversation search, keyboard shortcuts
|
||||
- Chat persistence via Ideas API (already implemented)
|
||||
- ASSUMPTION: Chat streaming uses existing SSE infrastructure in LLM controller. Frontend needs streamChatMessage() completion. Rationale: Backend SSE is already working, only frontend wiring is missing.
|
||||
- **Status: COMPLETE (MS19) — PRs #516 (streaming), #519 (polish). Model selector, temperature/maxTokens config, ChatEmptyState, Cmd+N/L shortcuts. 78 web tests.**
|
||||
|
||||
### FR-019: Project-Level Orchestrator Chat (MS19)
|
||||
### FR-019: Project-Level Orchestrator Chat (MS19) — COMPLETE
|
||||
|
||||
- Chat context scoped to active project
|
||||
- Can trigger orchestrator actions: spawn agent, check status, view jobs
|
||||
- Command prefix system (/spawn, /status, /jobs) parsed in chat
|
||||
- Agent output viewable in terminal tabs
|
||||
- ASSUMPTION: Orchestrator commands route through existing web proxy (/api/orchestrator/\*) to orchestrator service. Rationale: Proxy routes already exist and handle auth.
|
||||
- **Status: COMPLETE (MS19) — PRs #521 (commands), #522 (agent terminal). /status, /agents, /jobs, /pause, /resume, /help commands. Agent output streaming via SSE. 113 web tests.**
|
||||
|
||||
### FR-020: Settings Configuration (Future — MS20)
|
||||
|
||||
@@ -383,19 +402,19 @@ This is the active mission scope. MS16 (Pages) and MS17 (Backend Integration) ar
|
||||
39. ~~All features support all themes~~ DONE
|
||||
40. ~~Lint, typecheck, tests pass~~ DONE
|
||||
|
||||
### MS19 — Chat & Terminal
|
||||
### MS19 — Chat & Terminal — COMPLETE
|
||||
|
||||
41. Terminal panel has real xterm.js with PTY backend
|
||||
42. Terminal supports multiple named sessions (tabs)
|
||||
43. Terminal sessions persist and recover on reconnect
|
||||
44. Chat streaming renders tokens in real-time (SSE)
|
||||
45. Master chat sidebar accessible from any page (Cmd+Shift+J)
|
||||
46. Master chat supports model selection and conversation management
|
||||
47. Project-level chat can trigger orchestrator actions
|
||||
48. Agent output viewable in terminal tabs
|
||||
49. All features support all themes
|
||||
50. Lint, typecheck, tests pass
|
||||
51. Deployed and smoke-tested
|
||||
41. ~~Terminal panel has real xterm.js with PTY backend~~ DONE — PR #518
|
||||
42. ~~Terminal supports multiple named sessions (tabs)~~ DONE — PR #520
|
||||
43. ~~Terminal sessions persist and recover on reconnect~~ DONE — PR #517
|
||||
44. ~~Chat streaming renders tokens in real-time (SSE)~~ DONE — PR #516
|
||||
45. ~~Master chat sidebar accessible from any page (Cmd+Shift+J)~~ DONE — PR #519
|
||||
46. ~~Master chat supports model selection and conversation management~~ DONE — PR #519
|
||||
47. ~~Project-level chat can trigger orchestrator actions~~ DONE — PR #521
|
||||
48. ~~Agent output viewable in terminal tabs~~ DONE — PR #522
|
||||
49. ~~All features support all themes~~ DONE — CSS variables throughout
|
||||
50. ~~Lint, typecheck, tests pass~~ DONE — 1441 web + 3303 API = 4744 total
|
||||
51. ~~Deployed and smoke-tested~~ DONE — CI #635 green, web deployed to mosaic.woltje.com
|
||||
|
||||
### Full Project (All Milestones)
|
||||
|
||||
@@ -476,7 +495,7 @@ These 19 NestJS modules are already implemented with Prisma and available for fr
|
||||
| Go-Live MVP | 0.1.0 | Dashboard polish, ingestion, agent visibility, deploy | COMPLETE |
|
||||
| MS16+MS17-PagesDataIntegration | 0.1.1 | All pages built + wired to real API data | COMPLETE |
|
||||
| MS18-ThemeWidgets | 0.1.2 | Theme package system, widget registry, WYSIWYG, Kanban filtering | COMPLETE |
|
||||
| MS19-ChatTerminal | 0.1.x | Global terminal, project chat, master chat session | NOT STARTED |
|
||||
| MS19-ChatTerminal | 0.1.3 | Global terminal, project chat, master chat session | COMPLETE |
|
||||
| MS20-MultiTenant | 0.2.0 | Multi-tenant, teams, RBAC, RLS enforcement, break-glass auth | NOT STARTED |
|
||||
| MS21-Federation | 0.2.x | Federation (M-M, M-S), 3 instances, key exchange, data separation | NOT STARTED |
|
||||
| MS22-AgentTelemetry | 0.2.x | Agent task mapping, telemetry, wide-event logging | NOT STARTED |
|
||||
|
||||
Reference in New Issue
Block a user