chore: bootstrap Harness Foundation mission (Phase 9) (#289)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
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:
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user