From f4a7d4dc2c84b094192dba30522c475ced3293d6 Mon Sep 17 00:00:00 2001 From: Tam Nhu Tran Date: Sat, 7 Mar 2026 15:18:16 +0700 Subject: [PATCH] fix(codex): standardize haiku defaults on gpt-5.1-codex-mini --- config/base-codex.settings.json | 2 +- tests/unit/cliproxy/variant-update-service.test.ts | 6 +++--- ui/src/lib/model-catalogs.ts | 4 ++-- ui/tests/unit/ui/lib/model-catalogs-codex.test.ts | 13 +++++++++++++ 4 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 ui/tests/unit/ui/lib/model-catalogs-codex.test.ts diff --git a/config/base-codex.settings.json b/config/base-codex.settings.json index 20621941..390d568d 100644 --- a/config/base-codex.settings.json +++ b/config/base-codex.settings.json @@ -5,6 +5,6 @@ "ANTHROPIC_MODEL": "gpt-5.3-codex", "ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-5.3-codex", "ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-5.3-codex", - "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5-codex-mini" + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5.1-codex-mini" } } diff --git a/tests/unit/cliproxy/variant-update-service.test.ts b/tests/unit/cliproxy/variant-update-service.test.ts index af491a6a..28467094 100644 --- a/tests/unit/cliproxy/variant-update-service.test.ts +++ b/tests/unit/cliproxy/variant-update-service.test.ts @@ -112,7 +112,7 @@ cliproxy: expect(settings.env.ANTHROPIC_MODEL).toBe('gpt-5.1-codex-mini'); expect(settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe('gpt-5.1-codex-mini'); expect(settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe('gpt-5.1-codex-mini'); - expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5-mini'); + expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5.1-codex-mini'); expect(settings.env.CUSTOM_FLAG).toBe('keep-me'); expect(settings.hooks.PreToolUse.length).toBe(1); @@ -134,7 +134,7 @@ cliproxy: expect(settings.env.ANTHROPIC_MODEL).toBe('gpt-5.3-codex'); expect(settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe('gpt-5.3-codex'); expect(settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe('gpt-5.3-codex'); - expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5-mini'); + expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5.1-codex-mini'); const modelOnly = updateVariant('demo', { model: 'gpt-5.3-codex' }); expect(modelOnly.success).toBe(true); @@ -145,6 +145,6 @@ cliproxy: expect(settings.env.ANTHROPIC_MODEL).toBe('gpt-5.3-codex'); expect(settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe('gpt-5.3-codex'); expect(settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe('gpt-5.3-codex'); - expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5-mini'); + expect(settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe('gpt-5.1-codex-mini'); }); }); diff --git a/ui/src/lib/model-catalogs.ts b/ui/src/lib/model-catalogs.ts index 016d0564..bf4a44cb 100644 --- a/ui/src/lib/model-catalogs.ts +++ b/ui/src/lib/model-catalogs.ts @@ -121,7 +121,7 @@ export const MODEL_CATALOGS: Record = { default: 'gpt-5.3-codex', opus: 'gpt-5.3-codex', sonnet: 'gpt-5.3-codex', - haiku: 'gpt-5-mini', + haiku: 'gpt-5.1-codex-mini', }, }, { @@ -132,7 +132,7 @@ export const MODEL_CATALOGS: Record = { default: 'gpt-5.2-codex', opus: 'gpt-5.2-codex', sonnet: 'gpt-5.2-codex', - haiku: 'gpt-5-mini', + haiku: 'gpt-5.1-codex-mini', }, }, { diff --git a/ui/tests/unit/ui/lib/model-catalogs-codex.test.ts b/ui/tests/unit/ui/lib/model-catalogs-codex.test.ts new file mode 100644 index 00000000..ed57cc8a --- /dev/null +++ b/ui/tests/unit/ui/lib/model-catalogs-codex.test.ts @@ -0,0 +1,13 @@ +import { describe, expect, it } from 'vitest'; +import { MODEL_CATALOGS } from '@/lib/model-catalogs'; + +describe('codex model catalog defaults', () => { + it('uses gpt-5.1-codex-mini as the haiku mapping for codex presets', () => { + const codexCatalog = MODEL_CATALOGS.codex; + const codex53 = codexCatalog.models.find((model) => model.id === 'gpt-5.3-codex'); + const codex52 = codexCatalog.models.find((model) => model.id === 'gpt-5.2-codex'); + + expect(codex53?.presetMapping?.haiku).toBe('gpt-5.1-codex-mini'); + expect(codex52?.presetMapping?.haiku).toBe('gpt-5.1-codex-mini'); + }); +});