--- name: model-provider-registry classification: server-only success_metric: Operators configure Anthropic + local coder aliases and per-role routing from Settings; agent runs log modelAlias. skip: - ia - ux - design - a11y - visual - smoke status: shipped created: 2026-07-07 model_policy: roles: role-conductor: claude-planning role-architect: claude-planning role-implementer: qwen-coder role-reviewer: qwen-coder escalate_to: claude-planning --- # Model provider registry (Epic 1) ## Why Echodo needs a workspace-scoped model registry and `resolveModel()` contract before orchestrator/worker can dispatch unattended jobs. Epic 1 on `feat/automation-foundation` delivered the full slice. ## Scope - `packages/shared` — schemas + `resolveModel()` - `model_providers` / `role_model_routes` tables - `api.ai.models` tRPC + Settings UI - `agent_runs` model columns + MCP `complete_task` fields ## Roles invoked Conductor → Architect (briefs = Epic 1 tasks) → Implementer (per task) → Reviewer (PR). ## Outcome Shipped in PR on `feat/automation-foundation`. Epic 2 convoy scaffolding added after merge for ongoing automation-foundation work. ## Briefs (architect mapping) | Brief | Task slug | | --- | --- | | 1 | `shared-schemas-resolve-model` | | 2 | `db-model-providers-migration` | | 3 | `trpc-models-router` | | 4 | `settings-ai-providers-ui` | | 5 | `settings-ai-role-routing-ui` | | 6 | `agent-runs-model-logging` |