runs UI columns. Migration via db:generate. claim_task before work;
complete_task when done — include modelAlias on your own completion as
dogfood proof.
---
# Task summary
Persist model routing metadata on `agent_runs` and accept optional model fields on `complete_task` so dogfooded pipeline sessions record which alias was used.
## Description
### DB (`agent_runs`)
Add nullable columns:
-`model_alias` varchar
-`provider_type` varchar
-`model_id` varchar
-`model_tier` varchar
Migration via `pnpm db:generate`.
### MCP `complete_task`
Extend zod input (optional):
-`modelAlias?: string`
-`modelTier?: string`
-`providerType?: string`
-`modelId?: string`
Write to `agent_runs` on close. Document in tool description.
### Runs UI
`apps/web/app/(app)/[workspaceSlug]/settings/runs/page.tsx` — show model alias column in table and expanded row detail.
### `.env.example`
Add commented entries: `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GOOGLE_GENERATIVE_AI_API_KEY`, `NVIDIA_API_KEY`, `OLLAMA_API_KEY`, `OPENAI_BASE_URL` with note pointing to ADR.
## Subtasks
- [ ] Schema + migration
- [ ] complete_task schema + handler
- [ ] Runs UI column
- [ ] .env.example update
## Estimation
S
## Acceptance criteria
- [ ] Completing a run with `modelAlias: "qwen-coder"` persists and displays in runs UI