Submatter/.convoys/polish-dag-tiers-cost/brief-3-tiers.md
Randall Stillwell e3af2c33e6 feat(polish): cost caps + DAG + tiers + preflight + checks panel
- Cost caps: budget_caps table, MTD spend ledger, tRPC budgets router, orchestrator pause on cap
- DAG viz: convoy-dag.tsx SVG for brief dependencies in Mission Control
- Automation tiers: manual|assist|auto per convoy, orchestrator respects manual
- Preflight: connected-repos preflight endpoint
- Checks panel: forge checks stub in detail panel
- Budget caps schema + tRPC router + Settings UI stub

Convoy: .convoys/polish-dag-tiers-cost

Co-authored-by: orchestrator
2026-08-25 20:33:10 -05:00

36 lines
1.3 KiB
Markdown

---
brief: 3
convoy: polish-dag-tiers-cost
role: role-implementer
title: Automation tiers — manual|assist|auto per convoy
status: ready
priority: P2
slice_dependencies: []
recommended_model: qwen-coder
model_tier: local
---
# Brief 3 — `Task-automation-tiers` (Epic 5)
## Goal
`automation_tier enum manual|assist|auto` per convoy or workspace, Mission control badge, orchestrator respects `manual` → pause.
## Files
- `packages/shared/src/convoy-lifecycle/schemas.ts` — add `automationTierSchema` `manual|assist|auto`, add to `convoyObjectContentSchema` `automationTier` optional default `assist`.
- `apps/web/server/routers/convoys.ts` — `create` accepts `automationTier`, `list` returns it, `orchestrator/src/tick.ts` if `tier===manual` return `pause reason: manual tier`.
- `apps/web/components/mission-control/convoy-detail-panel.tsx` — badge `Tier: auto/assist/manual`.
## Acceptance
- `create convoy tier:manual` appears `Tier: manual` badge; orchestrator `tick` on that convoy returns `pause` not `dispatch`.
- `pnpm lint && pnpm type-check` pass.
## Prompt
You are `role-implementer` brief 3. Read `plans/Plan-automation-foundation/Epic-mission-control-gates-ui/Task-automation-tiers.md`, `packages/shared/src/convoy-lifecycle/schemas.ts`, `apps/orchestrator/src/tick.ts`. Keep tier default `assist` for backward compat.
## Depends
None.