37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
|
|
---
|
||
|
|
brief: 2
|
||
|
|
convoy: polish-dag-tiers-cost
|
||
|
|
role: role-implementer
|
||
|
|
title: Convoy DAG visualization for brief dependencies
|
||
|
|
status: ready
|
||
|
|
priority: P2
|
||
|
|
slice_dependencies: []
|
||
|
|
recommended_model: qwen-coder
|
||
|
|
model_tier: local
|
||
|
|
---
|
||
|
|
|
||
|
|
# Brief 2 — `Task-convoy-dag-visualization` (Epic 5)
|
||
|
|
|
||
|
|
## Goal
|
||
|
|
|
||
|
|
Small DAG for `ready/in_progress` brief `sliceDependencies` in Mission control detail — Autensa benchmark row `convoy DAG visualization`.
|
||
|
|
|
||
|
|
## Files
|
||
|
|
|
||
|
|
- `apps/web/components/mission-control/convoy-dag.tsx` NEW — SVG DAG (nodes = briefNumber, edges = sliceDependencies), uses `convoyBriefs` from `apps/web/server/lib/convoy/convoy-service.ts` `getConvoyBriefs`, highlights `completedBriefIds` green, `eligible` blue.
|
||
|
|
- `apps/web/app/(app)/[workspaceSlug]/mission-control/page.tsx:12` — embed `ConvoyDag` in detail panel when `briefs.length >1`.
|
||
|
|
- No DB migration.
|
||
|
|
|
||
|
|
## Acceptance
|
||
|
|
|
||
|
|
- DAG renders for 3 briefs where `brief 2 depends [1]`, `brief 3 depends [2]` — edges drawn, no overlap.
|
||
|
|
- `pnpm lint && pnpm type-check` pass.
|
||
|
|
|
||
|
|
## Prompt
|
||
|
|
|
||
|
|
You are `role-implementer` brief 2. Read `plans/Plan-automation-foundation/Epic-mission-control-gates-ui/Task-convoy-dag-visualization.md`, `packages/shared/src/orchestrator/convoy-driver.ts`, `apps/web/components/mission-control/convoy-detail-panel.tsx`. Keep SVG, no external lib.
|
||
|
|
|
||
|
|
## Depends
|
||
|
|
|
||
|
|
None.
|