diff --git a/src/cli/__snapshots__/model-fallback.test.ts.snap b/src/cli/__snapshots__/model-fallback.test.ts.snap index 07b1c2b76..819e1b79c 100644 --- a/src/cli/__snapshots__/model-fallback.test.ts.snap +++ b/src/cli/__snapshots__/model-fallback.test.ts.snap @@ -213,7 +213,7 @@ exports[`generateModelConfig single native provider uses OpenAI models when only "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -286,7 +286,7 @@ exports[`generateModelConfig single native provider uses OpenAI models with isMa "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -480,7 +480,7 @@ exports[`generateModelConfig all native providers uses preferred models from fal "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -555,7 +555,7 @@ exports[`generateModelConfig all native providers uses preferred models with isM "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -631,7 +631,7 @@ exports[`generateModelConfig fallback providers uses OpenCode Zen models when on "variant": "xhigh", }, "multimodal-looker": { - "model": "opencode/gpt-5.3-codex", + "model": "opencode/gpt-5.4", "variant": "medium", }, "oracle": { @@ -706,7 +706,7 @@ exports[`generateModelConfig fallback providers uses OpenCode Zen models with is "variant": "xhigh", }, "multimodal-looker": { - "model": "opencode/gpt-5.3-codex", + "model": "opencode/gpt-5.4", "variant": "medium", }, "oracle": { @@ -1025,7 +1025,7 @@ exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen "variant": "xhigh", }, "multimodal-looker": { - "model": "opencode/gpt-5.3-codex", + "model": "opencode/gpt-5.4", "variant": "medium", }, "oracle": { @@ -1100,7 +1100,7 @@ exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot comb "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -1302,7 +1302,7 @@ exports[`generateModelConfig mixed provider scenarios uses all fallback provider "variant": "xhigh", }, "multimodal-looker": { - "model": "opencode/gpt-5.3-codex", + "model": "opencode/gpt-5.4", "variant": "medium", }, "oracle": { @@ -1377,7 +1377,7 @@ exports[`generateModelConfig mixed provider scenarios uses all providers togethe "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { @@ -1452,7 +1452,7 @@ exports[`generateModelConfig mixed provider scenarios uses all providers with is "variant": "xhigh", }, "multimodal-looker": { - "model": "openai/gpt-5.3-codex", + "model": "openai/gpt-5.4", "variant": "medium", }, "oracle": { diff --git a/src/cli/config-manager.test.ts b/src/cli/config-manager.test.ts index 33f40ad71..877aada7f 100644 --- a/src/cli/config-manager.test.ts +++ b/src/cli/config-manager.test.ts @@ -254,8 +254,8 @@ describe("generateOmoConfig - model fallback system", () => { expect((result.agents as Record).sisyphus.variant).toBe("medium") // #then Oracle should use native OpenAI (first fallback entry) expect((result.agents as Record).oracle.model).toBe("openai/gpt-5.4") - // #then multimodal-looker should use native OpenAI (first fallback entry is gpt-5.3-codex) - expect((result.agents as Record)["multimodal-looker"].model).toBe("openai/gpt-5.3-codex") + // #then multimodal-looker should use native OpenAI (first fallback entry is gpt-5.4) + expect((result.agents as Record)["multimodal-looker"].model).toBe("openai/gpt-5.4") }) test("uses haiku for explore when Claude max20", () => { diff --git a/src/cli/model-fallback-requirements.ts b/src/cli/model-fallback-requirements.ts index f3298fa08..bb47a24f7 100644 --- a/src/cli/model-fallback-requirements.ts +++ b/src/cli/model-fallback-requirements.ts @@ -68,7 +68,7 @@ export const CLI_AGENT_MODEL_REQUIREMENTS: Record = { fallbackChain: [ { providers: ["openai", "opencode"], - model: "gpt-5.3-codex", + model: "gpt-5.4", variant: "medium", }, { providers: ["kimi-for-coding"], model: "k2p5" }, diff --git a/src/shared/model-requirements.test.ts b/src/shared/model-requirements.test.ts index d2a106e15..c26b02e10 100644 --- a/src/shared/model-requirements.test.ts +++ b/src/shared/model-requirements.test.ts @@ -98,28 +98,26 @@ describe("AGENT_MODEL_REQUIREMENTS", () => { expect(quaternary.model).toBe("gpt-5-nano") }) - test("multimodal-looker has valid fallbackChain with gpt-5.3-codex as primary", () => { + test("multimodal-looker has valid fallbackChain with gpt-5.4 as primary", () => { // given - multimodal-looker agent requirement const multimodalLooker = AGENT_MODEL_REQUIREMENTS["multimodal-looker"] // when - accessing multimodal-looker requirement - // then - fallbackChain: gpt-5.3-codex -> k2p5 -> gemini-3-flash -> glm-4.6v -> gpt-5-nano + // then - fallbackChain: gpt-5.4 -> k2p5 -> gemini-3-flash -> glm-4.6v -> gpt-5-nano expect(multimodalLooker).toBeDefined() expect(multimodalLooker.fallbackChain).toBeArray() expect(multimodalLooker.fallbackChain).toHaveLength(5) const primary = multimodalLooker.fallbackChain[0] expect(primary.providers).toEqual(["openai", "opencode"]) - expect(primary.model).toBe("gpt-5.3-codex") + expect(primary.model).toBe("gpt-5.4") expect(primary.variant).toBe("medium") - const secondary = multimodalLooker.fallbackChain[1] expect(secondary.providers).toEqual(["kimi-for-coding"]) expect(secondary.model).toBe("k2p5") const tertiary = multimodalLooker.fallbackChain[2] expect(tertiary.model).toBe("gemini-3-flash") - const last = multimodalLooker.fallbackChain[4] expect(last.providers).toEqual(["openai", "github-copilot", "opencode"]) expect(last.model).toBe("gpt-5-nano") diff --git a/src/shared/model-requirements.ts b/src/shared/model-requirements.ts index 7d033f122..4a60f6f64 100644 --- a/src/shared/model-requirements.ts +++ b/src/shared/model-requirements.ts @@ -90,7 +90,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record = { fallbackChain: [ { providers: ["openai", "opencode"], - model: "gpt-5.3-codex", + model: "gpt-5.4", variant: "medium", }, { providers: ["kimi-for-coding"], model: "k2p5" },