--- kind: epic slug: ops-copilot title: Ops copilot — project-aware chat for status and triage plan_slug: automation-foundation status: draft priority: P2 tenant_id: global cursor_epic_id: null updated_at: "2026-08-12" --- # Epic objective A Submatter chat surface grounded in **workspace convoys, backlog, runs, and events** so an owner can ask “what needs me?”, “what shipped last week?”, or “add a bug for X” without opening Cursor or scanning markdown. Distinct from gate co-pilot (single-convoy approve assist) and generic `/{ws}/ai` chat. ## In scope / out of scope **In scope** - Ops chat route or Mission Control / Fleet panel using `resolveModel` (`ops-copilot` role alias) - Tools/RAG-lite: query convoy kanban counts, gate inbox, recent events, backlog ready list, run outcomes - Actions (v1 limited): draft backlog task markdown suggestion, create draft convoy stub, link to Start - Citations: answers reference convoy slug / task slug **Out of scope** - Full IDE agent / code edit loop (worker remains the coder) - Autopilot research - Replacing Mission Control buttons for gates (chat can deep-link) ## Dependencies - Epic 5 gate co-pilot patterns - Epic 9 fleet data (preferred) - Epic 10 Plans tRPC (preferred for “what’s next”) ## Acceptance criteria - [ ] Owner asks “what needs my approval?” and gets gate inbox items with links - [ ] Owner asks “what’s ready to start?” and gets ready backlog tasks (when Epic 10 shipped) - [ ] Chat cannot mutate another workspace’s data ## Tasks | Task | Link | Status | |------|------|--------| | Ops copilot context tools | [Task-ops-copilot-context-tools](./Task-ops-copilot-context-tools.md) | ready | | Ops copilot UI panel | [Task-ops-copilot-ui](./Task-ops-copilot-ui.md) | draft | | Draft work from chat | [Task-ops-copilot-draft-work](./Task-ops-copilot-draft-work.md) | draft |