--- kind: task slug: convoy-dag-visualization title: Convoy DAG visualization for parallel briefs plan_slug: automation-foundation epic_slug: mission-control-gates-ui status: draft priority: P2 tenant_id: global owner: unassigned cursor_todo_id: null updated_at: "2026-08-03" --- # Task summary Read-only dependency graph in mission control showing brief/subtask relationships and `multitask_group` parallel lanes. ## Description **Benchmark:** Autensa Convoy Mode DAG — visual dependency graph for parallel subtasks. Echodo already has `multitask_group` on `convoy_events` and parallel implementer fan-out in the orchestrator ADR; this task adds **visibility**, not new scheduling logic. ### Data source - Parse brief frontmatter / `slice_dependencies` from `.convoys//brief-*.md` (via convoy object metadata or file reconcile) - Overlay live status from `agent_runs` + convoy status per brief ### UI - Mission control detail panel tab: **Graph** - Nodes = briefs; edges = dependencies; color = run status (pending, running, done, blocked) - Click node selects brief in detail panel ## Dependencies - Epic 5 mission control (shipped) - Epic 6 orchestrator parallel dispatch (shipped) ## Subtasks - [ ] Shared zod type `ConvoyDag` in `packages/shared` - [ ] tRPC `convoys.getDag` - [ ] React graph component (lightweight — e.g. layered layout, no heavy graph lib unless justified) - [ ] Empty state when single-brief convoy ## Estimation M ## Acceptance criteria - [ ] Two-brief convoy with dependency shows correct edge direction - [ ] Parallel briefs without dependency appear in same column/lane - [ ] Blocked brief visually distinct from pending ## Links - Epic: `./Epic-mission-control-gates-ui.md`