Commit graph

1 commit

Author SHA1 Message Date
Anton Razzhigaev
9b61198286 Choose the model source everywhere instead of typing a provider prefix
Settings → Models let the owner pick the provider from a grouped select while
Settings → Agents (Available subagents, every review lane, the wizard) offered
one "API model" entry and required a hand-typed `provider::model` prefix; the
chooser there also listed OpenRouter catalog entries under vendor names, so
"OpenAI: GPT-5.6 Terra" silently meant an OpenRouter route.

One grouped source select now serves every model-assigning surface
(`route_editor_primitives.js::routeChoiceGroups`): Subscriptions · models,
API keys (one entry per provider whose credential is stored, plus a disabled
pointer to Accounts; a saved keyless choice stays selectable as "(no key)"),
Agents · sessions. The model chooser lists only the chosen source's catalog
and shows the model without its prefix; the editor composes the stored
spelling. Route chips name the source (API · OpenAI, Codex · model, Claude
Code · agent), the meta line names the credential and the exact stored id,
and a last-run receipt earned under a different route says so.

Also: the catalog banner reports a partial read instead of a total failure
when only one source (typically the Claudexor daemon) could not be read;
the advisory route memory key is provider-qualified so a drafted API target
survives a source round trip; provider-card and wizard copy no longer
instruct the prefix. The rule lives in DESIGN.md §7 with a static guard
(tests/test_web_source_picker_static.py).
2026-09-14 00:20:53 +03:00