Files
msd-core/.changeset/archived/fix-3229-model-catalog-source-of-truth.md
Tom Boucher 8616839cab chore: archive 463 shipped changeset fragments before wiring render (#714)
CHANGELOG promotion was a manual operator step that was never run, so 463
fragments for work already shipped in <=1.3.1 accumulated in .changeset/.
Their notes were already hand-curated into the dated [1.2.0]/[1.3.0]/[1.3.1]
CHANGELOG sections (#690 backfill, PR #694). Rendering them now would
duplicate and mis-attribute shipped work.

Move them to .changeset/archived/ (read non-recursively by all changeset
tooling, so never rendered), keeping only the 3 genuinely-unreleased
fragments at the top level. Prep for wiring `render` into the release
finalize job (#690 follow-up).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:53:17 -04:00

1.1 KiB

type, pr
type pr
Fixed 3230

resolve-model no longer drifts between SDK and CLI/CJS — model-selection data now comes from a shared Model Catalog Module (sdk/shared/model-catalog.json) that both the SDK and the main CLI package consume. This fixes the #3229 class of bug where the SDK knew only 18 agents while 33 shipped agents existed on disk, causing resolve-model to silently return { unknown_agent: true, model: "sonnet" } for valid agents like gsd-code-reviewer and gsd-security-auditor.

The shared catalog now owns:

  • the full 33-agent registry
  • per-agent golden/quality alias plus balanced/budget aliases
  • adaptive routing derivation from routingTier
  • agent → phase-type map
  • agent → dynamic-routing default tier map
  • runtime tier defaults for all supported runtimes (claude, codex, gemini, qwen, opencode, copilot, hermes, plus Group B runtimes with no built-in defaults)

resolve-model unknown-agent fallback is also now profile-semantic instead of hardcoded sonnet: quality → opus, budget → haiku, balanced/adaptive → sonnet, inherit → inherit.