Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
89 lines
4.9 KiB
Markdown
89 lines
4.9 KiB
Markdown
# Mission Manifest — MS19 Chat & Terminal System
|
|
|
|
> Persistent document tracking full mission scope, status, and session history.
|
|
> Updated by the orchestrator at each phase transition and milestone completion.
|
|
|
|
## Mission
|
|
|
|
**ID:** ms19-chat-terminal-20260225
|
|
**Statement:** Implement MS19 (Chat & Terminal System) — real terminal with PTY backend, chat streaming, master chat polish, project-level orchestrator chat, and agent output integration
|
|
**Phase:** Completion
|
|
**Current Milestone:** MS19-ChatTerminal
|
|
**Progress:** 1 / 1 milestones
|
|
**Status:** completed
|
|
**Last Updated:** 2026-02-26T04:20Z
|
|
|
|
## Success Criteria
|
|
|
|
1. Terminal panel has real xterm.js with PTY backend via WebSocket — **DONE** (PR #518)
|
|
2. Terminal supports multiple named sessions (create/close/rename tabs) — **DONE** (PR #520)
|
|
3. Terminal sessions persist in PostgreSQL and recover on reconnect — **DONE** (PR #517)
|
|
4. Chat streaming renders tokens in real-time via SSE — **DONE** (PR #516)
|
|
5. Master chat sidebar accessible from any page (Cmd+Shift+J / Cmd+K) — **DONE** (PR #519)
|
|
6. Master chat supports model selection, temperature, conversation management — **DONE** (PR #519)
|
|
7. Project-level chat can trigger orchestrator actions (/spawn, /status, /jobs) — **DONE** (PR #521)
|
|
8. Agent output from orchestrator viewable in terminal tabs — **DONE** (PR #522)
|
|
9. All features support all 5 themes (Dark, Light, Nord, Dracula, Solarized) — **DONE** (CSS variables)
|
|
10. Lint, typecheck, and tests pass — **DONE** (1441 web + 3303 API = 4744 tests)
|
|
11. Deployed and smoke-tested at mosaic.woltje.com — **DONE** (CI #635 green, web image sha:7165e7a deployed)
|
|
|
|
## Existing Infrastructure
|
|
|
|
Key components already built that MS19 builds upon:
|
|
|
|
| Component | Status | Location |
|
|
| --------------------------------- | ------------------- | ------------------------------------ |
|
|
| ChatOverlay + ConversationSidebar | ~95% complete | `apps/web/src/components/chat/` |
|
|
| LLM Controller with SSE | Working | `apps/api/src/llm/` |
|
|
| WebSocket Gateway | Production | `apps/api/src/websocket/` |
|
|
| TerminalPanel UI (mock) | UI-only, no backend | `apps/web/src/components/terminal/` |
|
|
| Orchestrator proxy routes | Working | `apps/web/src/app/api/orchestrator/` |
|
|
| Speech Gateway (pattern ref) | Production | `apps/api/src/speech/` |
|
|
| Ideas API (chat persistence) | Working | `apps/api/src/ideas/` |
|
|
|
|
## Milestones
|
|
|
|
| # | ID | Name | Status | Branch | Issue | Started | Completed |
|
|
| --- | ---- | ---------------------- | --------- | ------------------------- | ------------------------ | ---------- | ---------- |
|
|
| 1 | MS19 | Chat & Terminal System | completed | per-task feature branches | #508,#509,#510,#511,#512 | 2026-02-25 | 2026-02-25 |
|
|
|
|
## Deployment
|
|
|
|
| Target | URL | Method |
|
|
| --------- | ----------------- | --------------------------- |
|
|
| Portainer | mosaic.woltje.com | CI/CD pipeline (Woodpecker) |
|
|
|
|
## Token Budget
|
|
|
|
| Metric | Value |
|
|
| ------ | ----------------- |
|
|
| Budget | ~300K (estimated) |
|
|
| Used | ~220K |
|
|
| Mode | normal |
|
|
|
|
## Session History
|
|
|
|
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
|
|
| ------- | --------------- | ----------------- | -------- | ------------ | ------------------------------------------------- |
|
|
| S1 | Claude Opus 4.6 | 2026-02-25T20:00Z | ~1h | context | Planning (PLAN-001) |
|
|
| S2 | Claude Opus 4.6 | 2026-02-25T21:00Z | ~2h | context | Wave 1+2 (5 tasks, PRs #515-518) |
|
|
| S3 | Claude Opus 4.6 | 2026-02-25T23:00Z | ~1.5h | context | Wave 3+4 (TERM-004, CHAT-002, ORCH-001, ORCH-002) |
|
|
| S4 | Claude Opus 4.6 | 2026-02-26T04:00Z | ~30m | completed | VER-001, DOC-001, VER-002 — mission complete |
|
|
|
|
## PRs Merged
|
|
|
|
| PR | Commit | Task | Description |
|
|
| ---- | ------- | -------- | ---------------------------------------- |
|
|
| #515 | 6290fc3 | TERM-001 | Terminal WebSocket gateway & PTY service |
|
|
| #516 | 7de0e73 | CHAT-001 | SSE chat streaming |
|
|
| #517 | 8128eb7 | TERM-002 | Terminal session persistence |
|
|
| #518 | 417c6ab | TERM-003 | xterm.js integration |
|
|
| #519 | 13aa52a | CHAT-002 | Master chat polish |
|
|
| #520 | 859dcfc | TERM-004 | Terminal tab management |
|
|
| #521 | b110c46 | ORCH-001 | Orchestrator command system |
|
|
| #522 | 9b2520c | ORCH-002 | Agent output terminal tabs |
|
|
|
|
## Scratchpad
|
|
|
|
Path: `docs/scratchpads/ms19-chat-terminal-20260225.md`
|