chore: bootstrap Harness Foundation mission (Phase 9) (#289)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful

Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #289.
This commit is contained in:
2026-03-21 20:10:48 +00:00
committed by jason.woltje
parent d06866f501
commit 36095ad80f
4 changed files with 556 additions and 140 deletions

View File

@@ -1,45 +1,42 @@
# Mission Manifest — MVP
# Mission Manifest — Harness Foundation
> Persistent document tracking full mission scope, status, and session history.
> Updated by the orchestrator at each phase transition and milestone completion.
## Mission
**ID:** mvp-20260312
**Statement:** Build Mosaic Stack v0.1.0 — a self-hosted, multi-user AI agent platform with web dashboard, TUI, remote control, shared memory, mission orchestration, and extensible skill/plugin architecture. All TypeScript. Pi as agent harness. Brain as knowledge layer. Queue as coordination backbone.
**Phase:** Complete
**Current Milestone:** Phase 8: Polish & Beta (v0.1.0) — DONE
**Progress:** 9 / 9 milestones
**Status:** complete
**Last Updated:** 2026-03-16 UTC
**ID:** harness-20260321
**Statement:** Transform Mosaic Stack from a functional demo into a real multi-provider, task-routing AI harness. Persist all conversations, integrate frontier LLM providers (Anthropic, OpenAI, OpenRouter, Z.ai, Ollama), build granular task-aware agent routing, harden agent sessions, replace cron with BullMQ, and design the channel protocol for future Matrix/remote integration.
**Phase:** Execution
**Current Milestone:** M1: Conversation Persistence & Context
**Progress:** 0 / 7 milestones
**Status:** active
**Last Updated:** 2026-03-21 UTC
## Success Criteria
- [x] AC-1: Core chat flow — login, send message, streamed response, conversations persist
- [x] AC-2: TUI integration — `mosaic tui` connects to gateway, same context as web
- [x] AC-3: Discord remote control — bot responds, routes through gateway, threads work
- [x] AC-4: Gateway orchestration — multi-provider routing, fallback, concurrent sessions
- [x] AC-5: Task & project management — CRUD, kanban, mission tracking, brain MCP tools
- [x] AC-6: Memory system — auto-capture, semantic search, preferences, log summarization
- [x] AC-7: Auth & RBAC — email/password, Authentik SSO, role enforcement
- [x] AC-8: Multi-provider LLM — 3+ providers routing correctly
- [x] AC-9: MCP — gateway MCP endpoint, brain + queue tools via MCP
- [x] AC-10: Deployment — `docker compose up` from clean state, CLI on bare metal
- [x] AC-11: @mosaic/\* packages — all 7 migrated packages build, test, integrate
- [ ] AC-1: Send messages in TUI → restart TUI → resume conversation → agent has full history and context
- [ ] AC-2: Route a coding task to Claude Opus 4.6, a simple question to Haiku, a summarization to GLM-5 — all via granular routing rules
- [ ] AC-3: Two users exist, User A's memory searches never return User B's data
- [ ] AC-4: `/model claude-sonnet-4-6` in TUI switches the active model for subsequent messages
- [ ] AC-5: `/agent coding-agent` in TUI switches to a different agent with different system prompt and tools
- [ ] AC-6: BullMQ jobs execute on schedule, failures retry with backoff, admin can inspect via `/api/admin/jobs`
- [ ] AC-7: Channel protocol document exists with Matrix integration points defined, reviewed, and approved
- [ ] AC-8: Embeddings run on Ollama local models (no external API dependency for vector operations)
- [ ] AC-9: All five providers (Anthropic, OpenAI, OpenRouter, Z.ai, Ollama) connect, list models, and complete chat requests
- [ ] AC-10: Routing transparency — TUI displays which model was selected and the routing reason for each response
## Milestones
| # | ID | Name | Status | Branch | Issue | Started | Completed |
| --- | ------ | --------------------------------------- | ------ | ------ | ----- | ---------- | ---------- |
| 0 | ms-157 | Phase 0: Foundation (v0.0.1) | done | — | — | 2026-03-13 | 2026-03-13 |
| 1 | ms-158 | Phase 1: Core API (v0.0.2) | done | — | — | 2026-03-13 | 2026-03-13 |
| 2 | ms-159 | Phase 2: Agent Layer (v0.0.3) | done | — | — | 2026-03-13 | 2026-03-12 |
| 3 | ms-160 | Phase 3: Web Dashboard (v0.0.4) | done | — | — | 2026-03-12 | 2026-03-13 |
| 4 | ms-161 | Phase 4: Memory & Intelligence (v0.0.5) | done | — | — | 2026-03-13 | 2026-03-13 |
| 5 | ms-162 | Phase 5: Remote Control (v0.0.6) | done | — | #99 | 2026-03-14 | 2026-03-14 |
| 6 | ms-163 | Phase 6: CLI & Tools (v0.0.7) | done | — | #104 | 2026-03-14 | 2026-03-14 |
| 7 | ms-164 | Phase 7: Feature Completion (v0.0.8) | done | — | — | 2026-03-15 | 2026-03-15 |
| 8 | ms-165 | Phase 8: Polish & Beta (v0.1.0) | done | — | — | 2026-03-15 | 2026-03-15 |
| # | ID | Name | Status | Branch | Issue | Started | Completed |
| --- | ------ | ---------------------------------- | ----------- | ------ | --------- | ------- | --------- |
| 1 | ms-166 | Conversation Persistence & Context | not-started | — | #224#231 | — | — |
| 2 | ms-167 | Security & Isolation | not-started | — | #232#239 | — | — |
| 3 | ms-168 | Provider Integration | not-started | — | #240#251 | — | — |
| 4 | ms-169 | Agent Routing Engine | not-started | — | #252#264 | — | — |
| 5 | ms-170 | Agent Session Hardening | not-started | — | #265#272 | — | — |
| 6 | ms-171 | Job Queue Foundation | not-started | — | #273#280 | — | — |
| 7 | ms-172 | Channel Protocol Design | not-started | — | #281#288 | — | — |
## Deployment
@@ -48,6 +45,12 @@
| Docker Compose (dev) | localhost | docker compose up |
| Production | TBD | Docker Swarm via Portainer |
## Coordination
- **Primary Agent:** claude-opus-4-6
- **Sibling Agents:** codex (for pure coding tasks), sonnet (for review/standard work)
- **Shared Contracts:** docs/PRD-Harness_Foundation.md, docs/TASKS.md
## Token Budget
| Metric | Value |
@@ -58,22 +61,10 @@
## Session History
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
| ------- | ----------------- | -------------------- | -------- | ------------- | ---------------- |
| 1 | claude-opus-4-6 | 2026-03-13 01:00 UTC | — | context limit | Planning gate |
| 2 | claude-opus-4-6 | 2026-03-13 | — | context limit | P5-002, P6-005 |
| 3 | claude-opus-4-6 | 2026-03-13 | — | context limit | P0-006 |
| 4 | claude-opus-4-6 | 2026-03-12 | — | context limit | Docker fix |
| 5 | claude-opus-4-6 | 2026-03-12 | — | context limit | P1-009 |
| 6 | claude-opus-4-6 | 2026-03-12 | — | context limit | P2-006, FIX-01 |
| 7 | claude-opus-4-6 | 2026-03-12 | — | context limit | P2-007 |
| 8 | claude-opus-4-6 | 2026-03-12 | — | context limit | Phase 2 complete |
| 9 | claude-opus-4-6 | 2026-03-12 | — | context limit | P3-007 |
| 10 | claude-opus-4-6 | 2026-03-13 | — | context limit | P3-008 |
| 11 | claude-opus-4-6 | 2026-03-14 | — | context limit | P7 rescope |
| 12 | claude-opus-4-6 | 2026-03-15 | — | context limit | P7 planning |
| 13 | claude-sonnet-4-6 | 2026-03-16 | — | complete | P8-019 verify |
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
| ------- | --------------- | ---------- | -------- | ------------ | ------------- |
| 1 | claude-opus-4-6 | 2026-03-21 | — | — | Planning gate |
## Scratchpad
Path: `docs/scratchpads/mvp-20260312.md`
Path: `docs/scratchpads/harness-20260321.md`