From dd85d1451a1b8eda5a59bd87dedbda714fa23587 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Thu, 26 Mar 2026 15:59:53 +0900 Subject: [PATCH] fix(model-requirements): align fallback models with available provider catalogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - opencode/minimax-m2.7-highspeed → opencode/minimax-m2.5 (provider lacks m2.7 variants) - opencode-go/minimax-m2.7-highspeed → opencode-go/minimax-m2.7 (provider lacks -highspeed) - opencode/minimax-m2.7 → opencode/minimax-m2.5 (provider only has m2.5) - added xai as alternative provider for grok-code-fast-1 (prevents wrong provider prefix) --- src/shared/model-requirements.test.ts | 8 ++++---- src/shared/model-requirements.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/shared/model-requirements.test.ts b/src/shared/model-requirements.test.ts index d09a4530a..470dfea3a 100644 --- a/src/shared/model-requirements.test.ts +++ b/src/shared/model-requirements.test.ts @@ -80,7 +80,7 @@ describe("AGENT_MODEL_REQUIREMENTS", () => { const second = librarian.fallbackChain[1] expect(second.providers[0]).toBe("opencode") - expect(second.model).toBe("minimax-m2.7-highspeed") + expect(second.model).toBe("minimax-m2.5") const tertiary = librarian.fallbackChain[2] expect(tertiary.providers).toContain("anthropic") @@ -95,22 +95,22 @@ describe("AGENT_MODEL_REQUIREMENTS", () => { const explore = AGENT_MODEL_REQUIREMENTS["explore"] // when - accessing explore requirement - // then - fallbackChain: grok → minimax-m2.7-highspeed → minimax-m2.7 → haiku → nano expect(explore).toBeDefined() expect(explore.fallbackChain).toBeArray() expect(explore.fallbackChain).toHaveLength(5) const primary = explore.fallbackChain[0] expect(primary.providers).toContain("github-copilot") + expect(primary.providers).toContain("xai") expect(primary.model).toBe("grok-code-fast-1") const secondary = explore.fallbackChain[1] expect(secondary.providers).toContain("opencode-go") - expect(secondary.model).toBe("minimax-m2.7-highspeed") + expect(secondary.model).toBe("minimax-m2.7") const tertiary = explore.fallbackChain[2] expect(tertiary.providers).toContain("opencode") - expect(tertiary.model).toBe("minimax-m2.7") + expect(tertiary.model).toBe("minimax-m2.5") const quaternary = explore.fallbackChain[3] expect(quaternary.providers).toContain("anthropic") diff --git a/src/shared/model-requirements.ts b/src/shared/model-requirements.ts index 541c26d00..aeb1fc629 100644 --- a/src/shared/model-requirements.ts +++ b/src/shared/model-requirements.ts @@ -78,16 +78,16 @@ export const AGENT_MODEL_REQUIREMENTS: Record = { librarian: { fallbackChain: [ { providers: ["opencode-go"], model: "minimax-m2.7" }, - { providers: ["opencode"], model: "minimax-m2.7-highspeed" }, + { providers: ["opencode"], model: "minimax-m2.5" }, { providers: ["anthropic", "opencode"], model: "claude-haiku-4-5" }, { providers: ["opencode"], model: "gpt-5-nano" }, ], }, explore: { fallbackChain: [ - { providers: ["github-copilot"], model: "grok-code-fast-1" }, - { providers: ["opencode-go"], model: "minimax-m2.7-highspeed" }, - { providers: ["opencode"], model: "minimax-m2.7" }, + { providers: ["github-copilot", "xai"], model: "grok-code-fast-1" }, + { providers: ["opencode-go"], model: "minimax-m2.7" }, + { providers: ["opencode"], model: "minimax-m2.5" }, { providers: ["anthropic", "opencode"], model: "claude-haiku-4-5" }, { providers: ["opencode"], model: "gpt-5-nano" }, ],