# 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:** 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:** Complete **Current Milestone:** All milestones done **Progress:** 7 / 7 milestones **Status:** complete **Last Updated:** 2026-03-22 UTC ## Success Criteria - [x] AC-1: Send messages in TUI → restart TUI → resume conversation → agent has full history and context - [x] 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 - [x] AC-3: Two users exist, User A's memory searches never return User B's data - [x] AC-4: `/model claude-sonnet-4-6` in TUI switches the active model for subsequent messages - [x] AC-5: `/agent coding-agent` in TUI switches to a different agent with different system prompt and tools - [x] AC-6: BullMQ jobs execute on schedule, failures retry with backoff, admin can inspect via `/api/admin/jobs` - [x] AC-7: Channel protocol document exists with Matrix integration points defined, reviewed, and approved - [x] AC-8: Embeddings run on Ollama local models (no external API dependency for vector operations) - [x] AC-9: All five providers (Anthropic, OpenAI, OpenRouter, Z.ai, Ollama) connect, list models, and complete chat requests - [x] 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 | | --- | ------ | ---------------------------------- | ------ | ------ | --------- | ---------- | ---------- | | 1 | ms-166 | Conversation Persistence & Context | done | — | #224–#231 | 2026-03-21 | 2026-03-21 | | 2 | ms-167 | Security & Isolation | done | — | #232–#239 | 2026-03-21 | 2026-03-21 | | 3 | ms-168 | Provider Integration | done | — | #240–#251 | 2026-03-21 | 2026-03-22 | | 4 | ms-169 | Agent Routing Engine | done | — | #252–#264 | 2026-03-22 | 2026-03-22 | | 5 | ms-170 | Agent Session Hardening | done | — | #265–#272 | 2026-03-22 | 2026-03-22 | | 6 | ms-171 | Job Queue Foundation | done | — | #273–#280 | 2026-03-22 | 2026-03-22 | | 7 | ms-172 | Channel Protocol Design | done | — | #281–#288 | 2026-03-22 | 2026-03-22 | ## Deployment | Target | URL | Method | | -------------------- | --------- | -------------------------- | | Docker Compose (dev) | localhost | docker compose up | | Production | TBD | Docker Swarm via Portainer | ## Coordination - **Primary Agent:** claude-opus-4-6 - **Sibling Agents:** sonnet (workers), haiku (verification) - **Shared Contracts:** docs/PRD-Harness_Foundation.md, docs/TASKS.md ## Token Budget | Metric | Value | | ------ | ------ | | Budget | — | | Used | ~2.5M | | Mode | normal | ## Session History | Session | Runtime | Started | Duration | Ended Reason | Last Task | | ------- | --------------- | ---------- | -------- | ------------ | ----------------- | | 1 | claude-opus-4-6 | 2026-03-21 | ~6h | complete | M7-008 — all done | ## Scratchpad Path: `docs/scratchpads/harness-20260321.md`