fix(migration): stop rewriting explicit gpt-5.3-codex to gpt-5.4 (#3777)

`openai/gpt-5.3-codex` is the codex-series powerhouse still recommended
in docs/guide/agent-model-matching.md and listed in the default
fallback chain in docs/reference/configuration.md, not a deprecated
alias for `gpt-5.4`. The migration entry silently rewrote any user
config that picked `gpt-5.3-codex` for its token efficiency, sending
agents to a non-codex model on every startup.

Drop the bogus mapping from MODEL_VERSION_MAP and add a regression
test that explicit `gpt-5.3-codex` selections (including in nested
fallback_models) survive `migrateModelVersions`. Users already
auto-migrated previously can revert to `gpt-5.3-codex` by hand and it
will now stick on subsequent loads regardless of the sidecar history.
This commit is contained in:
李冠辰
2026-05-22 11:36:22 +08:00
parent 0904e2378e
commit d788c3d1a9
2 changed files with 37 additions and 4 deletions
+6 -1
View File
@@ -4,12 +4,17 @@
* bumps to newer model versions.
*
* Keys are full "provider/model" strings. Only openai and anthropic entries needed.
*
* Only include genuinely retired/superseded models here. Do NOT add mappings
* for current, user-selectable variants — `gpt-5.3-codex` is the canonical
* codex powerhouse referenced in docs/guide/agent-model-matching.md and is
* NOT a deprecated alias for `gpt-5.4`. Auto-rewriting an explicit user
* choice silently broke configurations (#3777).
*/
export const MODEL_VERSION_MAP: Record<string, string> = {
"anthropic/claude-opus-4-5": "anthropic/claude-opus-4-7",
"anthropic/claude-opus-4-6": "anthropic/claude-opus-4-7",
"anthropic/claude-sonnet-4-5": "anthropic/claude-sonnet-4-6",
"openai/gpt-5.3-codex": "openai/gpt-5.4",
"openai/gpt-5.4": "openai/gpt-5.5",
}