feat(deep): upgrade default model from gpt-5.3-codex to gpt-5.4

Deep category now uses gpt-5.4 as its default model across all providers
(openai, github-copilot, venice, opencode), matching Hephaestus's GPT 5.4
upgrade. The requiresModel constraint is removed since gpt-5.4 is widely
available. Adds openai/gpt-5.3-codex -> openai/gpt-5.4 config migration
for existing user configs. Deep category prompt optimized for GPT 5.4's
stronger native capabilities (leaner, less verbose).
This commit is contained in:
YeonGyu-Kim
2026-03-31 17:26:30 -07:00
parent ce0d3581f0
commit 3d56df4e1b
9 changed files with 84 additions and 52 deletions
+7 -6
View File
@@ -319,20 +319,21 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
expect(primary.providers[0]).toBe("openai")
})
test("deep has valid fallbackChain with gpt-5.3-codex as primary", () => {
test("deep has valid fallbackChain with gpt-5.4 as primary", () => {
// given - deep category requirement
const deep = CATEGORY_MODEL_REQUIREMENTS["deep"]
// when - accessing deep requirement
// then - fallbackChain exists with gpt-5.3-codex as first entry, medium variant
// then - fallbackChain exists with gpt-5.4 as first entry, medium variant
expect(deep).toBeDefined()
expect(deep.fallbackChain).toBeArray()
expect(deep.fallbackChain.length).toBeGreaterThan(0)
const primary = deep.fallbackChain[0]
expect(primary.variant).toBe("medium")
expect(primary.model).toBe("gpt-5.3-codex")
expect(primary.providers[0]).toBe("openai")
expect(primary.model).toBe("gpt-5.4")
expect(primary.providers).toContain("openai")
expect(primary.providers).toContain("github-copilot")
})
test("visual-engineering has valid fallbackChain with gemini-3.1-pro high as primary", () => {
@@ -592,12 +593,12 @@ describe("ModelRequirement type", () => {
})
describe("requiresModel field in categories", () => {
test("deep category has requiresModel set to gpt-5.3-codex", () => {
test("deep category no longer has requiresModel (gpt-5.4 is widely available)", () => {
// given
const deep = CATEGORY_MODEL_REQUIREMENTS["deep"]
// when / #then
expect(deep.requiresModel).toBe("gpt-5.3-codex")
expect(deep.requiresModel).toBeUndefined()
})
test("artistry category has requiresModel set to gemini-3.1-pro", () => {