CedarCopilot wants to merge 4 commits into staging from feat/retire-model-and-when-to-use
Live on prod, no production signal yet
No production telemetry tied to authorSubagentDoc or admin.subagent.author was found since 2026-09-07T03:36:45Z: exact route/span query returned 0 requests, and CloudWatch returned no concrete author-operation success or error logs. The four matching log rows were unrelated.
Unable to complete verification: telemetry identified `agent.list` activity, but the required direct create/show query was rejected by the telemetry service, and source reads were blocked by the source character budget. No verdict can be supported from the available evidence.
Libra has verdicts on 0 of 10 tracked behaviors on prod; 10 are still being checked. Libra checks hourly for 3 days after each deploy.
Per explicit direction: model is ripped out entirely (backend and frontend), and when_to_use is retired as a separate concept , every current reader now reads description instead, which already carries the merged meaning going forward.
model , removed completelyVerified zero real customization exists in production (797/896 docs say model: sonnet, 2 say meaningless noise) and the hardcoded per-dispatch-tool model constants were always what actually ran. Removed: the Settings-form Model picker, SubagentFrontmatter.model and its parser case, EDITABLE_HEADER_KEYS/recomposeCustom, AgentHeaderFields.model/AgentSummary.model and every populator, model: sonnet from all 9 seeded templates and seed-playbook.ts's 5 legacy templates, and every authoring writer across both CLIs and 3 tRPC routes. No backfill needed , existing model: lines in customer docs go inert, same treatment permissions already got.
when_to_use , retired as a separate concept, replaced by description everywhere it's readFlipped every live reader: the two production playbook renderers the orchestrator LLM reads on every live event (playbook-renderers.ts's renderSubagentRef, get-playbook-section.ts, plus resolve-playbook-context.ts's SubagentRef type feeding the first), reference-resolver.ts's formatSubagentSummary (a third rendering path found during implementation), review-triage.ts's reviewer-selection prompt, seed-playbook.ts's own separate hardcoded legacy templates (confirmed live, not dead code) and its dynamic custom-agent generator, and the Settings-form UI (folded into Description's hint text). Stopped every writer: the three authoring APIs no longer accept it as a parameter at all.
Deliberately still alive: SubagentFrontmatter.when_to_use and recomposeCustom's round-trip of it. The already-built, DRY_RUN-verified migrate-when-to-use-into-description.ts still needs to read and clear it on ~486 existing documents before the type can safely disappear. Running that migration for real, and the final cleanup pass removing the type once it has, are the next two steps , not in this PR.
pnpm --filter @zero/server run types AND @zero/mail run types , both clean.modules/agents) , pass.oxlint --deny-warnings , clean on all 43 files.deps:check , clean (1771 modules).š¤ Generated with Claude Code
Libra has not measured any production surfaces for this change yet.