From 185abe2d66ded0f56e9c56abdef42a3a85cc4261 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Fri, 10 Jul 2026 10:03:05 -0400 Subject: [PATCH] feat(codex): advance Codex/OpenAI model defaults to GPT-5.6 (Sol/Terra/Luna) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update runtimeTierDefaults.codex and providerPresets.openai in model-catalog.json to the GPT-5.6 family (gpt-5.6-sol/terra/luna), advancing from the superseded GPT-5.4/5.5 generation. Model IDs verified against OpenAI developer API docs: - gpt-5.6-sol: flagship, /, reasoning xhigh - gpt-5.6-terra: balanced, .50/, reasoning medium - gpt-5.6-luna: fast/cheap, /, reasoning medium Tier mapping is 1:1 (Sol↔flagship, Terra↔balanced, Luna↔fast), so profile semantics are unchanged — only the underlying IDs advance. Updates: catalog JSON, test assertions (catalog defaults), docs (CONFIGURATION.md + zh-CN/pt-BR translations, workflow settings), and changeset. Closes #2122 --- .changeset/2122-codex-gpt56-model-defaults.md | 5 ++ docs/CONFIGURATION.md | 16 +++--- docs/pt-BR/CONFIGURATION.md | 16 +++--- docs/zh-CN/CONFIGURATION.md | 16 +++--- gsd-core/bin/shared/model-catalog.json | 12 ++-- gsd-core/workflows/settings-advanced.md | 10 ++-- gsd-core/workflows/settings.md | 4 +- tests/codex-config.test.cjs | 2 +- tests/commands.test.cjs | 2 +- .../golden-install-parity/antigravity.json | 6 +- .../golden-install-parity/augment.json | 6 +- .../golden-install-parity/claude-local.json | 6 +- .../golden-install-parity/claude.json | 6 +- .../fixtures/golden-install-parity/cline.json | 6 +- .../golden-install-parity/codebuddy.json | 6 +- .../fixtures/golden-install-parity/codex.json | 6 +- .../golden-install-parity/copilot.json | 6 +- .../golden-install-parity/cursor.json | 6 +- .../golden-install-parity/hermes.json | 6 +- .../fixtures/golden-install-parity/kilo.json | 6 +- .../fixtures/golden-install-parity/kimi.json | 6 +- .../golden-install-parity/opencode.json | 6 +- .../fixtures/golden-install-parity/qwen.json | 6 +- .../fixtures/golden-install-parity/trae.json | 6 +- .../golden-install-parity/windsurf.json | 6 +- .../fixtures/golden-install-parity/zcode.json | 6 +- tests/install-runtime-artifacts.test.cjs | 6 +- ...issue-2517-runtime-aware-profiles.test.cjs | 57 +++++++++---------- tests/workflow-size-baseline.json | 4 +- 29 files changed, 128 insertions(+), 124 deletions(-) create mode 100644 .changeset/2122-codex-gpt56-model-defaults.md diff --git a/.changeset/2122-codex-gpt56-model-defaults.md b/.changeset/2122-codex-gpt56-model-defaults.md new file mode 100644 index 000000000..361c9f1a5 --- /dev/null +++ b/.changeset/2122-codex-gpt56-model-defaults.md @@ -0,0 +1,5 @@ +--- +type: Changed +pr: 0 +--- +**Codex/OpenAI default models advance to the GPT-5.6 family (Sol/Terra/Luna)** — the Codex runtime tier defaults and the `openai` provider preset now resolve to current-generation model IDs instead of the superseded GPT-5.4/5.5 line, so Codex users on default profiles get improved agentic coding (Sol) and lower costs (Terra/Luna) without changing any config. (#2122) diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index 7505907e9..f991c21c3 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -1419,7 +1419,7 @@ When `runtime` is set, profile tiers (`opus`/`sonnet`/`haiku`) resolve to runtim | Runtime | `opus` | `sonnet` | `haiku` | reasoning_effort | |---------|--------|----------|---------|------------------| | `claude` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (not used) | -| `codex` | `gpt-5.5` | `gpt-5.4` | `gpt-5.4-mini` | `xhigh` / `medium` / `medium` | +| `codex` | `gpt-5.6-sol` | `gpt-5.6-terra` | `gpt-5.6-luna` | `xhigh` / `medium` / `medium` | | `qwen` | `qwen3-max-2026-01-23` | `qwen3-coder-plus` | `qwen3-coder-next` | (not used) | | `opencode` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | (not used) | | `copilot` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (not used) | @@ -1437,7 +1437,7 @@ When `runtime` is set, profile tiers (`opus`/`sonnet`/`haiku`) resolve to runtim } ``` -This resolves `gsd-planner` → `gpt-5.5` (xhigh), `gsd-executor` → `gpt-5.4` (medium), `gsd-codebase-mapper` → `gpt-5.4-mini` (medium). The Codex installer embeds `model = "..."` and `model_reasoning_effort = "..."` in each generated agent TOML. +This resolves `gsd-planner` → `gpt-5.6-sol` (xhigh), `gsd-executor` → `gpt-5.6-terra` (medium), `gsd-codebase-mapper` → `gpt-5.6-luna` (medium). The Codex installer embeds `model = "..."` and `model_reasoning_effort = "..."` in each generated agent TOML. **Claude example** — explicit opt-in resolves to full Claude IDs (no `resolve_model_ids: true` needed): @@ -1502,9 +1502,9 @@ Choose a provider and budget level via the settings workflow; GSD writes the can "model_policy": { "provider": "openai", "budget": "medium", - "high": "gpt-5.5", - "medium": "gpt-5.4", - "low": "gpt-5.4-mini" + "high": "gpt-5.6-sol", + "medium": "gpt-5.6-terra", + "low": "gpt-5.6-luna" } } ``` @@ -1520,9 +1520,9 @@ For advanced per-runtime control, `runtime_tiers` accepts explicit entries using "provider": "openai", "runtime_tiers": { "codex": { - "opus": { "model": "gpt-5.5", "reasoning_effort": "high" }, - "sonnet": { "model": "gpt-5.4", "reasoning_effort": "medium" }, - "haiku": { "model": "gpt-5.4-mini", "reasoning_effort": "low" } + "opus": { "model": "gpt-5.6-sol", "reasoning_effort": "high" }, + "sonnet": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, + "haiku": { "model": "gpt-5.6-luna", "reasoning_effort": "low" } } } } diff --git a/docs/pt-BR/CONFIGURATION.md b/docs/pt-BR/CONFIGURATION.md index fda6c8b64..6bad0e10f 100644 --- a/docs/pt-BR/CONFIGURATION.md +++ b/docs/pt-BR/CONFIGURATION.md @@ -1140,7 +1140,7 @@ A saída JSON de `resolve-model` inclui `reasoning_effort` quando o nível de ru | Runtime | `opus` | `sonnet` | `haiku` | reasoning_effort | |---------|--------|----------|---------|------------------| | `claude` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (não usado) | -| `codex` | `gpt-5.5` | `gpt-5.3-codex` | `gpt-5.4-mini` | `xhigh` / `medium` / `medium` | +| `codex` | `gpt-5.6-sol` | `gpt-5.6-terra` | `gpt-5.6-luna` | `xhigh` / `medium` / `medium` | | `gemini` | `gemini-3-pro` | `gemini-3-flash` | `gemini-2.5-flash-lite` | (não usado) | | `qwen` | `qwen3-max-2026-01-23` | `qwen3-coder-plus` | `qwen3-coder-next` | (não usado) | | `opencode` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | (não usado) | @@ -1157,7 +1157,7 @@ A saída JSON de `resolve-model` inclui `reasoning_effort` quando o nível de ru } ``` -Isso resolve `gsd-planner` → `gpt-5.5` (xhigh), `gsd-executor` → `gpt-5.3-codex` (medium), `gsd-codebase-mapper` → `gpt-5.4-mini` (medium). O instalador do Codex incorpora `model = "..."` e `model_reasoning_effort = "..."` em cada TOML de agente gerado. +Isso resolve `gsd-planner` → `gpt-5.6-sol` (xhigh), `gsd-executor` → `gpt-5.6-terra` (medium), `gsd-codebase-mapper` → `gpt-5.6-luna` (medium). O instalador do Codex incorpora `model = "..."` e `model_reasoning_effort = "..."` em cada TOML de agente gerado. **Exemplo Claude** — opt-in explícito resolve para IDs Claude completos (sem necessidade de `resolve_model_ids: true`): @@ -1222,9 +1222,9 @@ Escolha um provedor e nível de orçamento via o fluxo de configurações; o GSD "model_policy": { "provider": "openai", "budget": "medium", - "high": "gpt-5.5", - "medium": "gpt-5.3-codex", - "low": "gpt-5.4-mini" + "high": "gpt-5.6-sol", + "medium": "gpt-5.6-terra", + "low": "gpt-5.6-luna" } } ``` @@ -1240,9 +1240,9 @@ Para controle avançado por runtime, `runtime_tiers` aceita entradas explícitas "provider": "openai", "runtime_tiers": { "codex": { - "opus": { "model": "gpt-5.5", "reasoning_effort": "high" }, - "sonnet": { "model": "gpt-5.3-codex", "reasoning_effort": "medium" }, - "haiku": { "model": "gpt-5.4-mini", "reasoning_effort": "low" } + "opus": { "model": "gpt-5.6-sol", "reasoning_effort": "high" }, + "sonnet": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, + "haiku": { "model": "gpt-5.6-luna", "reasoning_effort": "low" } } } } diff --git a/docs/zh-CN/CONFIGURATION.md b/docs/zh-CN/CONFIGURATION.md index a43d6ba14..b3b551723 100644 --- a/docs/zh-CN/CONFIGURATION.md +++ b/docs/zh-CN/CONFIGURATION.md @@ -1109,7 +1109,7 @@ minimal < low < medium < high < xhigh < max | 运行时 | `opus` | `sonnet` | `haiku` | reasoning_effort | |---------|--------|----------|---------|------------------| | `claude` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (不使用) | -| `codex` | `gpt-5.5` | `gpt-5.3-codex` | `gpt-5.4-mini` | `xhigh` / `medium` / `medium` | +| `codex` | `gpt-5.6-sol` | `gpt-5.6-terra` | `gpt-5.6-luna` | `xhigh` / `medium` / `medium` | | `gemini` | `gemini-3-pro` | `gemini-3-flash` | `gemini-2.5-flash-lite` | (不使用) | | `qwen` | `qwen3-max-2026-01-23` | `qwen3-coder-plus` | `qwen3-coder-next` | (不使用) | | `opencode` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | (不使用) | @@ -1126,7 +1126,7 @@ minimal < low < medium < high < xhigh < max } ``` -这将 `gsd-planner` 解析为 `gpt-5.5`(xhigh),`gsd-executor` 解析为 `gpt-5.3-codex`(medium),`gsd-codebase-mapper` 解析为 `gpt-5.4-mini`(medium)。Codex 安装器将 `model = "..."` 和 `model_reasoning_effort = "..."` 嵌入每个生成的 agent TOML。 +这将 `gsd-planner` 解析为 `gpt-5.6-sol`(xhigh),`gsd-executor` 解析为 `gpt-5.6-terra`(medium),`gsd-codebase-mapper` 解析为 `gpt-5.6-luna`(medium)。Codex 安装器将 `model = "..."` 和 `model_reasoning_effort = "..."` 嵌入每个生成的 agent TOML。 **Claude 示例** — 显式选择解析到完整 Claude ID(无需 `resolve_model_ids: true`): @@ -1191,9 +1191,9 @@ minimal < low < medium < high < xhigh < max "model_policy": { "provider": "openai", "budget": "medium", - "high": "gpt-5.5", - "medium": "gpt-5.3-codex", - "low": "gpt-5.4-mini" + "high": "gpt-5.6-sol", + "medium": "gpt-5.6-terra", + "low": "gpt-5.6-luna" } } ``` @@ -1209,9 +1209,9 @@ minimal < low < medium < high < xhigh < max "provider": "openai", "runtime_tiers": { "codex": { - "opus": { "model": "gpt-5.5", "reasoning_effort": "high" }, - "sonnet": { "model": "gpt-5.3-codex", "reasoning_effort": "medium" }, - "haiku": { "model": "gpt-5.4-mini", "reasoning_effort": "low" } + "opus": { "model": "gpt-5.6-sol", "reasoning_effort": "high" }, + "sonnet": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, + "haiku": { "model": "gpt-5.6-luna", "reasoning_effort": "low" } } } } diff --git a/gsd-core/bin/shared/model-catalog.json b/gsd-core/bin/shared/model-catalog.json index 8779ffcfc..82f7d9a4e 100644 --- a/gsd-core/bin/shared/model-catalog.json +++ b/gsd-core/bin/shared/model-catalog.json @@ -13,9 +13,9 @@ "haiku": { "model": "claude-haiku-4-5" } }, "codex": { - "opus": { "model": "gpt-5.5", "reasoning_effort": "xhigh" }, - "sonnet": { "model": "gpt-5.4", "reasoning_effort": "medium" }, - "haiku": { "model": "gpt-5.4-mini", "reasoning_effort": "medium" } + "opus": { "model": "gpt-5.6-sol", "reasoning_effort": "xhigh" }, + "sonnet": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, + "haiku": { "model": "gpt-5.6-luna", "reasoning_effort": "medium" } }, "qwen": { "opus": { "model": "qwen3-max-2026-01-23" }, @@ -100,9 +100,9 @@ "haiku": { "low": { "model": "claude-haiku-4-5" }, "medium": { "model": "claude-haiku-4-5" }, "high": { "model": "claude-sonnet-5" } } }, "openai": { - "opus": { "low": { "model": "gpt-5.4", "reasoning_effort": "medium" }, "medium": { "model": "gpt-5.5", "reasoning_effort": "high" }, "high": { "model": "gpt-5.5", "reasoning_effort": "xhigh" } }, - "sonnet": { "low": { "model": "gpt-5.4-mini", "reasoning_effort": "low" }, "medium": { "model": "gpt-5.4", "reasoning_effort": "medium" }, "high": { "model": "gpt-5.5", "reasoning_effort": "medium" } }, - "haiku": { "low": { "model": "gpt-5.4-mini", "reasoning_effort": "minimal" }, "medium": { "model": "gpt-5.4-mini", "reasoning_effort": "medium" }, "high": { "model": "gpt-5.4", "reasoning_effort": "medium" } } + "opus": { "low": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, "medium": { "model": "gpt-5.6-sol", "reasoning_effort": "high" }, "high": { "model": "gpt-5.6-sol", "reasoning_effort": "xhigh" } }, + "sonnet": { "low": { "model": "gpt-5.6-luna", "reasoning_effort": "low" }, "medium": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" }, "high": { "model": "gpt-5.6-sol", "reasoning_effort": "medium" } }, + "haiku": { "low": { "model": "gpt-5.6-luna", "reasoning_effort": "minimal" }, "medium": { "model": "gpt-5.6-luna", "reasoning_effort": "medium" }, "high": { "model": "gpt-5.6-terra", "reasoning_effort": "medium" } } }, "google": { "opus": { "low": { "model": "gemini-2.5-flash-lite" }, "medium": { "model": "gemini-3-flash" }, "high": { "model": "gemini-3.1-pro-preview" } }, diff --git a/gsd-core/workflows/settings-advanced.md b/gsd-core/workflows/settings-advanced.md index ac550fc62..391c17871 100644 --- a/gsd-core/workflows/settings-advanced.md +++ b/gsd-core/workflows/settings-advanced.md @@ -354,7 +354,7 @@ Built-in tier defaults by runtime: | Runtime | `opus` | `sonnet` | `haiku` | |------------|-------------------------------|---------------------------------|-------------------------------| | `claude` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | -| `codex` | `gpt-5.5` | `gpt-5.4` | `gpt-5.4-mini` | +| `codex` | `gpt-5.6-sol` | `gpt-5.6-terra` | `gpt-5.6-luna` | | `gemini` | `gemini-3.1-pro-preview` | `gemini-3-flash` | `gemini-2.5-flash-lite` | | `qwen` | `qwen3-max-2026-01-23` | `qwen3-coder-plus` | `qwen3-coder-next` | | `opencode` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | @@ -627,7 +627,7 @@ AskUserQuestion([ options: [ { label: "anthropic", description: "claude-opus-4-8 / claude-sonnet-5 / claude-haiku-4-5 (Anthropic / Claude)" }, { label: "anthropic-fable", description: "claude-fable-5 / claude-sonnet-5 / claude-haiku-4-5 (Anthropic / Claude Fable opt-in)" }, - { label: "openai", description: "gpt-5.5 / gpt-5.4 / gpt-5.4-mini (OpenAI / Codex)" }, + { label: "openai", description: "gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna (OpenAI / Codex)" }, { label: "Other known provider", description: "Type google or qwen; both still use the canonical tier mapping." } ] } @@ -662,9 +662,9 @@ Canonical tier mappings by provider and budget: | anthropic-fable | high | claude-fable-5 | claude-fable-5 | claude-sonnet-5 | | anthropic-fable | medium | claude-opus-4-8 | claude-sonnet-5 | claude-haiku-4-5 | | anthropic-fable | low | claude-haiku-4-5 | claude-haiku-4-5 | claude-haiku-4-5 | -| openai | high | gpt-5.5 | gpt-5.5 | gpt-5.5 | -| openai | medium | gpt-5.5 | gpt-5.4 | gpt-5.4-mini | -| openai | low | gpt-5.4-mini | gpt-5.4-mini | gpt-5.4-mini | +| openai | high | gpt-5.6-sol | gpt-5.6-sol | gpt-5.6-sol | +| openai | medium | gpt-5.6-sol | gpt-5.6-terra | gpt-5.6-luna | +| openai | low | gpt-5.6-luna | gpt-5.6-luna | gpt-5.6-luna | | google | high | gemini-3.1-pro-preview | gemini-3.1-pro-preview | gemini-3.1-pro-preview | | google | medium | gemini-3.1-pro-preview | gemini-3-flash | gemini-2.5-flash-lite | | google | low | gemini-2.5-flash-lite | gemini-2.5-flash-lite | gemini-2.5-flash-lite | diff --git a/gsd-core/workflows/settings.md b/gsd-core/workflows/settings.md index 0a1b01c6b..550ae1fda 100644 --- a/gsd-core/workflows/settings.md +++ b/gsd-core/workflows/settings.md @@ -73,8 +73,8 @@ Parse current values (default to `true` if not present): ``` Note: Quality, Balanced, Budget, and Adaptive profiles assign semantic tiers (Opus/Sonnet/Haiku) to each agent. When `runtime` is set in .planning/config.json, -tiers resolve to runtime-native model IDs — on Codex that's gpt-5.5 / gpt-5.4 / -gpt-5.4-mini with appropriate reasoning effort. See "Runtime-Aware Profiles" in +tiers resolve to runtime-native model IDs — on Codex that's gpt-5.6-sol / gpt-5.6-terra / +gpt-5.6-luna with appropriate reasoning effort. See "Runtime-Aware Profiles" in docs/CONFIGURATION.md. If `runtime` is unset on a non-Claude runtime, the profile tiers have no effect on diff --git a/tests/codex-config.test.cjs b/tests/codex-config.test.cjs index 480d78214..7004b2af9 100644 --- a/tests/codex-config.test.cjs +++ b/tests/codex-config.test.cjs @@ -121,7 +121,7 @@ function countMatches(content, pattern) { } function assertNoDraftRootKeys(content) { - assert.ok(!content.includes('model = "gpt-5.4"'), 'does not inject draft model default'); + assert.ok(!content.includes('model = "gpt-5.6-terra"'), 'does not inject draft model default'); assert.ok(!content.includes('model_reasoning_effort = "high"'), 'does not inject draft reasoning default'); assert.ok(!content.includes('disable_response_storage = true'), 'does not inject draft storage default'); } diff --git a/tests/commands.test.cjs b/tests/commands.test.cjs index 97809d415..60541bfd6 100644 --- a/tests/commands.test.cjs +++ b/tests/commands.test.cjs @@ -1204,7 +1204,7 @@ describe('resolve-model command', () => { assert.ok(result.success, `Command failed: ${result.error}`); const output = JSON.parse(result.output); - assert.strictEqual(output.model, 'gpt-5.5'); + assert.strictEqual(output.model, 'gpt-5.6-sol'); assert.strictEqual(output.profile, 'balanced'); // #443: effort is now the unified field (xhigh for gsd-planner heavy tier default) assert.strictEqual(output.effort, 'xhigh'); diff --git a/tests/fixtures/golden-install-parity/antigravity.json b/tests/fixtures/golden-install-parity/antigravity.json index 0594525e6..a25f54429 100644 --- a/tests/fixtures/golden-install-parity/antigravity.json +++ b/tests/fixtures/golden-install-parity/antigravity.json @@ -42,7 +42,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "8bc541aabc2e143c", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -288,9 +288,9 @@ "gsd-core/workflows/scan.md": "a7fecd67e5cd655f", "gsd-core/workflows/secure-phase.md": "96b199dfac00e60f", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "f2f8c750101cb9ee", + "gsd-core/workflows/settings-advanced.md": "b7050fcf24175188", "gsd-core/workflows/settings-integrations.md": "4d3001ad2b5dad8f", - "gsd-core/workflows/settings.md": "4017f3f235051902", + "gsd-core/workflows/settings.md": "8258f7bd3700d608", "gsd-core/workflows/ship.md": "984bd7660e7791fd", "gsd-core/workflows/sketch-wrap-up.md": "0f842a609851a401", "gsd-core/workflows/sketch.md": "314b7d323c6b57eb", diff --git a/tests/fixtures/golden-install-parity/augment.json b/tests/fixtures/golden-install-parity/augment.json index 7e232323d..cb13ab537 100644 --- a/tests/fixtures/golden-install-parity/augment.json +++ b/tests/fixtures/golden-install-parity/augment.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "003883d71c37da7d", "gsd-core/workflows/secure-phase.md": "29fc6b62c5c5dc62", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "b57c947edee905bc", + "gsd-core/workflows/settings-advanced.md": "77ada5fe336ed9f7", "gsd-core/workflows/settings-integrations.md": "70515c5838fb9826", - "gsd-core/workflows/settings.md": "b2d39d972650f5f3", + "gsd-core/workflows/settings.md": "d96ddf01fb85e61e", "gsd-core/workflows/ship.md": "7b8fe9f89143e648", "gsd-core/workflows/sketch-wrap-up.md": "5f5ebb6a80d610c6", "gsd-core/workflows/sketch.md": "8319cedf3f93fc35", diff --git a/tests/fixtures/golden-install-parity/claude-local.json b/tests/fixtures/golden-install-parity/claude-local.json index 28a4f3e27..a716ecf12 100644 --- a/tests/fixtures/golden-install-parity/claude-local.json +++ b/tests/fixtures/golden-install-parity/claude-local.json @@ -112,7 +112,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -358,9 +358,9 @@ "gsd-core/workflows/scan.md": "75c670d08cee8680", "gsd-core/workflows/secure-phase.md": "64ec4d06ca85720a", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "2fc2738442f4f9de", + "gsd-core/workflows/settings-advanced.md": "0c8a218bad054722", "gsd-core/workflows/settings-integrations.md": "dfe3672c4fabf139", - "gsd-core/workflows/settings.md": "ba138b058d91fd38", + "gsd-core/workflows/settings.md": "acdd79110699a608", "gsd-core/workflows/ship.md": "44af1c72d86e153b", "gsd-core/workflows/sketch-wrap-up.md": "d52a5462bafda830", "gsd-core/workflows/sketch.md": "dbe6acc4d976060c", diff --git a/tests/fixtures/golden-install-parity/claude.json b/tests/fixtures/golden-install-parity/claude.json index 0b53e630a..e977d6af5 100644 --- a/tests/fixtures/golden-install-parity/claude.json +++ b/tests/fixtures/golden-install-parity/claude.json @@ -41,7 +41,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -287,9 +287,9 @@ "gsd-core/workflows/scan.md": "47371c2073d6c0be", "gsd-core/workflows/secure-phase.md": "59d3c50aba8c9a6c", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "02f7ef84f976bda4", + "gsd-core/workflows/settings-advanced.md": "38e4e7b92b396e3c", "gsd-core/workflows/settings-integrations.md": "53649313d20694ae", - "gsd-core/workflows/settings.md": "3d994d669d3fb321", + "gsd-core/workflows/settings.md": "7e7458cdb2b68ec5", "gsd-core/workflows/ship.md": "12e8e58c077a891a", "gsd-core/workflows/sketch-wrap-up.md": "121ed4b8127abf04", "gsd-core/workflows/sketch.md": "737c0492686fea2d", diff --git a/tests/fixtures/golden-install-parity/cline.json b/tests/fixtures/golden-install-parity/cline.json index 1110eff27..5be4ab26d 100644 --- a/tests/fixtures/golden-install-parity/cline.json +++ b/tests/fixtures/golden-install-parity/cline.json @@ -45,7 +45,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -291,9 +291,9 @@ "gsd-core/workflows/scan.md": "dfd92717caea0ce7", "gsd-core/workflows/secure-phase.md": "cf78183f06a02582", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "e08245a5a65dcec2", + "gsd-core/workflows/settings-advanced.md": "30dcd0980f4ae882", "gsd-core/workflows/settings-integrations.md": "76eee76d6eb57657", - "gsd-core/workflows/settings.md": "f6c7aa7ceb99078b", + "gsd-core/workflows/settings.md": "3701faed09d55247", "gsd-core/workflows/ship.md": "5f931a25ea9102a4", "gsd-core/workflows/sketch-wrap-up.md": "1f44789553180d84", "gsd-core/workflows/sketch.md": "2226779b6003a71c", diff --git a/tests/fixtures/golden-install-parity/codebuddy.json b/tests/fixtures/golden-install-parity/codebuddy.json index acc74ecd4..5d5b986b8 100644 --- a/tests/fixtures/golden-install-parity/codebuddy.json +++ b/tests/fixtures/golden-install-parity/codebuddy.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "003883d71c37da7d", "gsd-core/workflows/secure-phase.md": "29fc6b62c5c5dc62", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "b57c947edee905bc", + "gsd-core/workflows/settings-advanced.md": "77ada5fe336ed9f7", "gsd-core/workflows/settings-integrations.md": "70515c5838fb9826", - "gsd-core/workflows/settings.md": "b2d39d972650f5f3", + "gsd-core/workflows/settings.md": "d96ddf01fb85e61e", "gsd-core/workflows/ship.md": "7b8fe9f89143e648", "gsd-core/workflows/sketch-wrap-up.md": "2aba89ecd8f41a0d", "gsd-core/workflows/sketch.md": "5eedd93f9a5b49d5", diff --git a/tests/fixtures/golden-install-parity/codex.json b/tests/fixtures/golden-install-parity/codex.json index 3e059529b..46950ce44 100644 --- a/tests/fixtures/golden-install-parity/codex.json +++ b/tests/fixtures/golden-install-parity/codex.json @@ -148,7 +148,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -394,9 +394,9 @@ "gsd-core/workflows/scan.md": "1a3caa5d724d39e9", "gsd-core/workflows/secure-phase.md": "db91810d16964b1e", "gsd-core/workflows/session-report.md": "dd8fa011c9394075", - "gsd-core/workflows/settings-advanced.md": "2cbb05c302f1df5e", + "gsd-core/workflows/settings-advanced.md": "14de66e631f172d7", "gsd-core/workflows/settings-integrations.md": "77730321d3d6d317", - "gsd-core/workflows/settings.md": "1e19b0245851afc0", + "gsd-core/workflows/settings.md": "054c8c31b3905ced", "gsd-core/workflows/ship.md": "d86233c9a365effd", "gsd-core/workflows/sketch-wrap-up.md": "07724a390fbb43f6", "gsd-core/workflows/sketch.md": "576f300dfdde1b7d", diff --git a/tests/fixtures/golden-install-parity/copilot.json b/tests/fixtures/golden-install-parity/copilot.json index 64637655a..491c59ae8 100644 --- a/tests/fixtures/golden-install-parity/copilot.json +++ b/tests/fixtures/golden-install-parity/copilot.json @@ -43,7 +43,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "10226e9512dd44bf", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -289,9 +289,9 @@ "gsd-core/workflows/scan.md": "dcc2f76d0850e2fb", "gsd-core/workflows/secure-phase.md": "d87bd706f85bcad6", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "85f19b66b7d5040f", + "gsd-core/workflows/settings-advanced.md": "d46274308c4e2584", "gsd-core/workflows/settings-integrations.md": "a1d146d6bfd14db5", - "gsd-core/workflows/settings.md": "95aa4a9bc0b51e92", + "gsd-core/workflows/settings.md": "f611f14f2f447f1e", "gsd-core/workflows/ship.md": "b9dc0aaee0ff68e7", "gsd-core/workflows/sketch-wrap-up.md": "f2590cb6ddbfad94", "gsd-core/workflows/sketch.md": "e2063966439af8c1", diff --git a/tests/fixtures/golden-install-parity/cursor.json b/tests/fixtures/golden-install-parity/cursor.json index 9ac2844fc..dbc6937ea 100644 --- a/tests/fixtures/golden-install-parity/cursor.json +++ b/tests/fixtures/golden-install-parity/cursor.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "47371c2073d6c0be", "gsd-core/workflows/secure-phase.md": "c55975672c4e1895", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "3817a94612e4b588", + "gsd-core/workflows/settings-advanced.md": "6828a746997784d8", "gsd-core/workflows/settings-integrations.md": "166ca51b1f33c2a3", - "gsd-core/workflows/settings.md": "1e285d00022e00ce", + "gsd-core/workflows/settings.md": "0623c673eaf04799", "gsd-core/workflows/ship.md": "38830806d244fe9c", "gsd-core/workflows/sketch-wrap-up.md": "5be73b7bdf96b539", "gsd-core/workflows/sketch.md": "373bc0d83368a411", diff --git a/tests/fixtures/golden-install-parity/hermes.json b/tests/fixtures/golden-install-parity/hermes.json index 80e728340..fcebacbd0 100644 --- a/tests/fixtures/golden-install-parity/hermes.json +++ b/tests/fixtures/golden-install-parity/hermes.json @@ -42,7 +42,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -288,9 +288,9 @@ "gsd-core/workflows/scan.md": "b28f65d88c522767", "gsd-core/workflows/secure-phase.md": "f2957d4b88fb3746", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "9a45f0e5b8acf83d", + "gsd-core/workflows/settings-advanced.md": "dd44be875331ccb9", "gsd-core/workflows/settings-integrations.md": "1dce76db0aca08a5", - "gsd-core/workflows/settings.md": "cb2b6be87c519df9", + "gsd-core/workflows/settings.md": "0845d073009a4619", "gsd-core/workflows/ship.md": "dbf8bf636cb196c0", "gsd-core/workflows/sketch-wrap-up.md": "f1ece50ac65ea281", "gsd-core/workflows/sketch.md": "d5887983e62b574a", diff --git a/tests/fixtures/golden-install-parity/kilo.json b/tests/fixtures/golden-install-parity/kilo.json index e2a461d1c..f865d0b20 100644 --- a/tests/fixtures/golden-install-parity/kilo.json +++ b/tests/fixtures/golden-install-parity/kilo.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "47371c2073d6c0be", "gsd-core/workflows/secure-phase.md": "e8855104c1e0417c", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "03c647793401655b", + "gsd-core/workflows/settings-advanced.md": "40af6774a38adb07", "gsd-core/workflows/settings-integrations.md": "3ea8095d5fad891b", - "gsd-core/workflows/settings.md": "05e35aeb442b7e20", + "gsd-core/workflows/settings.md": "1925ecc2225c2216", "gsd-core/workflows/ship.md": "afd77be2093535f8", "gsd-core/workflows/sketch-wrap-up.md": "888c0548e63197b3", "gsd-core/workflows/sketch.md": "34a0c10fa56af7ea", diff --git a/tests/fixtures/golden-install-parity/kimi.json b/tests/fixtures/golden-install-parity/kimi.json index d8e0287ca..327225224 100644 --- a/tests/fixtures/golden-install-parity/kimi.json +++ b/tests/fixtures/golden-install-parity/kimi.json @@ -78,7 +78,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -324,9 +324,9 @@ "gsd-core/workflows/scan.md": "003883d71c37da7d", "gsd-core/workflows/secure-phase.md": "29fc6b62c5c5dc62", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "b57c947edee905bc", + "gsd-core/workflows/settings-advanced.md": "77ada5fe336ed9f7", "gsd-core/workflows/settings-integrations.md": "70515c5838fb9826", - "gsd-core/workflows/settings.md": "b2d39d972650f5f3", + "gsd-core/workflows/settings.md": "d96ddf01fb85e61e", "gsd-core/workflows/ship.md": "7b8fe9f89143e648", "gsd-core/workflows/sketch-wrap-up.md": "b767a1d3db129a8a", "gsd-core/workflows/sketch.md": "88cfdf4edcf222ab", diff --git a/tests/fixtures/golden-install-parity/opencode.json b/tests/fixtures/golden-install-parity/opencode.json index 759b24f55..fd7fb5267 100644 --- a/tests/fixtures/golden-install-parity/opencode.json +++ b/tests/fixtures/golden-install-parity/opencode.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "ad8ebcad4626d4a8", "gsd-core/workflows/secure-phase.md": "e9a488cec3b4efdc", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "f62c8e4fa6d3a3d9", + "gsd-core/workflows/settings-advanced.md": "afa9c38b68500b29", "gsd-core/workflows/settings-integrations.md": "d1711a95f44fdbde", - "gsd-core/workflows/settings.md": "bbbcad8d95d5e813", + "gsd-core/workflows/settings.md": "2e42ee34c791378a", "gsd-core/workflows/ship.md": "924c79e3cfd1e42b", "gsd-core/workflows/sketch-wrap-up.md": "681800323681c5c6", "gsd-core/workflows/sketch.md": "fcb7af914159ef7b", diff --git a/tests/fixtures/golden-install-parity/qwen.json b/tests/fixtures/golden-install-parity/qwen.json index b1536043b..46350f3b8 100644 --- a/tests/fixtures/golden-install-parity/qwen.json +++ b/tests/fixtures/golden-install-parity/qwen.json @@ -42,7 +42,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -288,9 +288,9 @@ "gsd-core/workflows/scan.md": "949692db4834dd27", "gsd-core/workflows/secure-phase.md": "6758f1acf4113e9e", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "8d850d15f1d06dd6", + "gsd-core/workflows/settings-advanced.md": "6f11a48034be4fa5", "gsd-core/workflows/settings-integrations.md": "29c5de27fbbb18e9", - "gsd-core/workflows/settings.md": "da0b7567d648b80a", + "gsd-core/workflows/settings.md": "26b9b7979d3a5747", "gsd-core/workflows/ship.md": "9f94d0b155eb041e", "gsd-core/workflows/sketch-wrap-up.md": "89e0eab2af946b04", "gsd-core/workflows/sketch.md": "483387542d6fc3af", diff --git a/tests/fixtures/golden-install-parity/trae.json b/tests/fixtures/golden-install-parity/trae.json index 1aa5e03d0..549b0dbfc 100644 --- a/tests/fixtures/golden-install-parity/trae.json +++ b/tests/fixtures/golden-install-parity/trae.json @@ -42,7 +42,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -288,9 +288,9 @@ "gsd-core/workflows/scan.md": "63631467651d9ca8", "gsd-core/workflows/secure-phase.md": "6cc236e53c2e7d56", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "252d3f848c95220e", + "gsd-core/workflows/settings-advanced.md": "72d9c0759cc01d99", "gsd-core/workflows/settings-integrations.md": "f8f756709ec02363", - "gsd-core/workflows/settings.md": "01cf9ffd340cff64", + "gsd-core/workflows/settings.md": "44b10c59215633b8", "gsd-core/workflows/ship.md": "c08f0fe3025d2c86", "gsd-core/workflows/sketch-wrap-up.md": "dbec602d104cb951", "gsd-core/workflows/sketch.md": "44ff275150b6d045", diff --git a/tests/fixtures/golden-install-parity/windsurf.json b/tests/fixtures/golden-install-parity/windsurf.json index e1f88551e..3d78aa631 100644 --- a/tests/fixtures/golden-install-parity/windsurf.json +++ b/tests/fixtures/golden-install-parity/windsurf.json @@ -42,7 +42,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -288,9 +288,9 @@ "gsd-core/workflows/scan.md": "12c11b2edc165df9", "gsd-core/workflows/secure-phase.md": "7bf923689bf58288", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "4c030adc097d1746", + "gsd-core/workflows/settings-advanced.md": "76399a40da18f0b4", "gsd-core/workflows/settings-integrations.md": "b082fc518b484c07", - "gsd-core/workflows/settings.md": "13ca50dba129c17b", + "gsd-core/workflows/settings.md": "002eb0ce3c10c741", "gsd-core/workflows/ship.md": "c035bb8b3bb7efbb", "gsd-core/workflows/sketch-wrap-up.md": "10063f56c2c7f141", "gsd-core/workflows/sketch.md": "25c1f8f7acfb1da9", diff --git a/tests/fixtures/golden-install-parity/zcode.json b/tests/fixtures/golden-install-parity/zcode.json index d291c636b..06726787a 100644 --- a/tests/fixtures/golden-install-parity/zcode.json +++ b/tests/fixtures/golden-install-parity/zcode.json @@ -113,7 +113,7 @@ "gsd-core/bin/gsd_run": "62d9b647ede212e6", "gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16", "gsd-core/bin/shared/config-schema.manifest.json": "6bba2b9c9fa47cb8", - "gsd-core/bin/shared/model-catalog.json": "e554a288fcbc1b2e", + "gsd-core/bin/shared/model-catalog.json": "eee64a2cf3b94c00", "gsd-core/bin/shared/runtime-aliases.manifest.json": "2df2c5ac1957911a", "gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904", "gsd-core/contexts/dev.md": "dcb0de9dce33cf41", @@ -359,9 +359,9 @@ "gsd-core/workflows/scan.md": "003883d71c37da7d", "gsd-core/workflows/secure-phase.md": "29fc6b62c5c5dc62", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", - "gsd-core/workflows/settings-advanced.md": "b57c947edee905bc", + "gsd-core/workflows/settings-advanced.md": "77ada5fe336ed9f7", "gsd-core/workflows/settings-integrations.md": "70515c5838fb9826", - "gsd-core/workflows/settings.md": "b2d39d972650f5f3", + "gsd-core/workflows/settings.md": "d96ddf01fb85e61e", "gsd-core/workflows/ship.md": "7b8fe9f89143e648", "gsd-core/workflows/sketch-wrap-up.md": "86db87b16548117e", "gsd-core/workflows/sketch.md": "e96f1866d3e60cab", diff --git a/tests/install-runtime-artifacts.test.cjs b/tests/install-runtime-artifacts.test.cjs index 32721fe13..adf1883e9 100644 --- a/tests/install-runtime-artifacts.test.cjs +++ b/tests/install-runtime-artifacts.test.cjs @@ -3448,7 +3448,7 @@ describe('#443 Config-driven: effort.agent_overrides drives install-time effort' const tomlContent = fs.readFileSync( path.join(codexHome, 'agents', 'gsd-planner.toml'), 'utf8' ); - assert.match(tomlContent, /^model\s*=\s*"gpt-5.5"$/m, + assert.match(tomlContent, /^model\s*=\s*"gpt-5.6-sol"$/m, `gsd-planner.toml should pin Codex model when runtime:"codex" is configured\nActual:\n${tomlContent.slice(0, 500)}`); assert.match(tomlContent, /^model_reasoning_effort\s*=\s*"low"$/m, `gsd-planner.toml should have model_reasoning_effort = "low" from config override\nActual:\n${tomlContent.slice(0, 500)}`); @@ -3474,7 +3474,7 @@ describe('#443 Config-driven: effort.agent_overrides drives install-time effort' const tomlContent = fs.readFileSync( path.join(codexHome, 'agents', 'gsd-planner.toml'), 'utf8' ); - assert.match(tomlContent, /^model\s*=\s*"gpt-5.5"$/m, + assert.match(tomlContent, /^model\s*=\s*"gpt-5.6-sol"$/m, `gsd-planner.toml should pin Codex model when runtime:"codex" is configured\nActual:\n${tomlContent.slice(0, 500)}`); // Codex does not support 'max' → clamped to 'xhigh' assert.match(tomlContent, /^model_reasoning_effort\s*=\s*"xhigh"$/m, @@ -3559,7 +3559,7 @@ describe('#443 resolveInstallTimeEffort: invalid tokens fall through to valid ef const tomlContent = fs.readFileSync( path.join(codexHome, 'agents', 'gsd-planner.toml'), 'utf8' ); - assert.match(tomlContent, /^model\s*=\s*"gpt-5.5"$/m, + assert.match(tomlContent, /^model\s*=\s*"gpt-5.6-sol"$/m, `gsd-planner.toml should pin Codex model when runtime:"codex" is configured\nActual:\n${tomlContent.slice(0, 500)}`); const match = tomlContent.match(/^model_reasoning_effort\s*=\s*"([^"]+)"/m); assert.ok(match, `model_reasoning_effort must be present in .toml\nActual:\n${tomlContent.slice(0, 500)}`); diff --git a/tests/issue-2517-runtime-aware-profiles.test.cjs b/tests/issue-2517-runtime-aware-profiles.test.cjs index 0932b1e9f..82e23c36f 100644 --- a/tests/issue-2517-runtime-aware-profiles.test.cjs +++ b/tests/issue-2517-runtime-aware-profiles.test.cjs @@ -8,7 +8,7 @@ * When `runtime` is set to a non-Claude value, profile tiers resolve to runtime- * native model IDs. * - * Codex: opus -> gpt-5.5 (xhigh), sonnet -> gpt-5.4 (medium), haiku -> gpt-5.4-mini (medium) + * Codex: opus -> gpt-5.6-sol (xhigh), sonnet -> gpt-5.6-terra (medium), haiku -> gpt-5.6-luna (medium) * * `runtime: "claude"` is the implicit default and is treated as a no-op for * resolution — it does not override `resolve_model_ids: "omit"` or any other @@ -170,10 +170,10 @@ describe('issue #2517: runtime "codex" — Codex tier resolution', () => { beforeEach(() => { isolateHome(); tmpDir = createTempProject(); resetRuntimeWarningCaches(); }); afterEach(() => { cleanup(tmpDir); restoreHome(); }); - test('opus tier -> gpt-5.5 model; heavy-tier agent -> xhigh effort on codex', () => { + test('opus tier -> gpt-5.6-sol model; heavy-tier agent -> xhigh effort on codex', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'quality' }); - // gsd-planner quality -> opus -> gpt-5.5 (model unchanged) - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.5'); + // gsd-planner quality -> opus -> gpt-5.6-sol (model unchanged) + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-sol'); // gsd-planner is heavy routing tier → effort 'xhigh' → rendered model_reasoning_effort const eff = resolveEffortInternal(tmpDir, 'gsd-planner'); const rendered = renderEffortForRuntime('codex', eff); @@ -181,9 +181,9 @@ describe('issue #2517: runtime "codex" — Codex tier resolution', () => { assert.strictEqual(rendered.value, 'xhigh'); }); - test('sonnet tier -> gpt-5.4 model; heavy-tier agent -> xhigh effort on codex', () => { + test('sonnet tier -> gpt-5.6-terra model; heavy-tier agent -> xhigh effort on codex', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'balanced' }); - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-roadmapper'), 'gpt-5.4'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-roadmapper'), 'gpt-5.6-terra'); // gsd-roadmapper is heavy routing tier → effort 'xhigh' (not catalog medium) const eff = resolveEffortInternal(tmpDir, 'gsd-roadmapper'); const rendered = renderEffortForRuntime('codex', eff); @@ -191,9 +191,9 @@ describe('issue #2517: runtime "codex" — Codex tier resolution', () => { assert.strictEqual(rendered.value, 'xhigh'); }); - test('haiku tier -> gpt-5.4-mini model; light-tier agent -> low effort on codex', () => { + test('haiku tier -> gpt-5.6-luna model; light-tier agent -> low effort on codex', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'budget' }); - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.4-mini'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.6-luna'); // gsd-codebase-mapper is light routing tier → effort 'low' (not catalog medium) const eff = resolveEffortInternal(tmpDir, 'gsd-codebase-mapper'); const rendered = renderEffortForRuntime('codex', eff); @@ -203,10 +203,10 @@ describe('issue #2517: runtime "codex" — Codex tier resolution', () => { test('adaptive profile resolves on Codex (no #1713/#1806 regression)', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'adaptive' }); - // gsd-planner adaptive -> opus -> gpt-5.5 - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.5'); - // gsd-codebase-mapper adaptive -> haiku -> gpt-5.4-mini - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.4-mini'); + // gsd-planner adaptive -> opus -> gpt-5.6-sol + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-sol'); + // gsd-codebase-mapper adaptive -> haiku -> gpt-5.6-luna + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.6-luna'); }); test('inherit profile still returns "inherit" on Codex; effort still resolves universally', () => { @@ -226,7 +226,7 @@ describe('issue #2517: runtime "codex" — Codex tier resolution', () => { model_profile: 'quality', resolve_model_ids: 'omit', }); - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.5'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-sol'); }); }); @@ -240,9 +240,9 @@ describe('issue #2517: precedence chain', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'quality', - model_overrides: { 'gsd-planner': 'gpt-5.4-mini' }, + model_overrides: { 'gsd-planner': 'gpt-5.6-luna' }, }); - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.4-mini'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-luna'); }); test('model_profile_overrides[runtime][tier] beats built-in defaults', () => { @@ -255,9 +255,8 @@ describe('issue #2517: precedence chain', () => { }); // gsd-planner quality -> opus -> overridden to gpt-5-pro assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5-pro'); - // haiku not overridden — fall back to spec defaults - // gsd-codebase-mapper quality -> sonnet -> gpt-5.4 - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.4'); + // gsd-codebase-mapper quality -> sonnet -> gpt-5.6-terra + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-codebase-mapper'), 'gpt-5.6-terra'); }); test('partial profile_overrides — only opus overridden, sonnet uses default', () => { @@ -271,7 +270,7 @@ describe('issue #2517: precedence chain', () => { // gsd-planner balanced -> opus -> overridden to gpt-5-pro assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5-pro'); // gsd-roadmapper balanced -> sonnet -> spec default - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-roadmapper'), 'gpt-5.4'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-roadmapper'), 'gpt-5.6-terra'); }); test('per-agent override beats profile override beats default', () => { @@ -316,7 +315,7 @@ describe('issue #2517: field-merge of overrides with built-in defaults (finding model_profile: 'quality', model_profile_overrides: { codex: { opus: { reasoning_effort: 'low' } } }, }); - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.5'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-sol'); const eff = resolveEffortInternal(tmpDir, 'gsd-planner'); const rendered = renderEffortForRuntime('codex', eff); assert.strictEqual(rendered.param, 'model_reasoning_effort'); @@ -355,7 +354,7 @@ describe('issue #2517: field-merge of overrides with built-in defaults (finding tier: 'opus', overrides: { codex: { opus: { reasoning_effort: 'low' } } }, }); - assert.deepStrictEqual(entry, { model: 'gpt-5.5', reasoning_effort: 'low' }); + assert.deepStrictEqual(entry, { model: 'gpt-5.6-sol', reasoning_effort: 'low' }); }); test('resolveTierEntry helper: unknown runtime + no overrides -> null', () => { @@ -396,7 +395,7 @@ describe('issue #2517: unknown runtime render param is null (effort does not lea writeConfig(tmpDir, { runtime: 'codx', model_profile: 'quality', - model_profile_overrides: { codx: { opus: { model: 'gpt-5.4', reasoning_effort: 'xhigh' } } }, + model_profile_overrides: { codx: { opus: { model: 'gpt-5.6-terra', reasoning_effort: 'xhigh' } } }, }); const eff = resolveEffortInternal(tmpDir, 'gsd-planner'); const rendered = renderEffortForRuntime('codx', eff); @@ -412,9 +411,9 @@ describe('issue #2517: unknown runtime + safe fallback', () => { test('unknown runtime falls back to Claude-alias safe default (no Codex IDs leaked)', () => { writeConfig(tmpDir, { runtime: 'mystery-runtime', model_profile: 'quality' }); - // Should NOT emit gpt-5.4 — should fall back to Claude alias + // Should NOT emit gpt-5.6-sol — should fall back to Claude alias const resolved = resolveModelInternal(tmpDir, 'gsd-planner'); - assert.notStrictEqual(resolved, 'gpt-5.4'); + assert.notStrictEqual(resolved, 'gpt-5.6-sol'); assert.strictEqual(resolved, 'opus'); }); @@ -432,7 +431,7 @@ describe('issue #2517: unknown runtime + safe fallback', () => { test('runtime:"codex" but missing model_profile_overrides[codex] uses spec defaults', () => { writeConfig(tmpDir, { runtime: 'codex', model_profile: 'quality' }); // No model_profile_overrides at all — built-in Codex defaults take over - assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.5'); + assert.strictEqual(resolveModelInternal(tmpDir, 'gsd-planner'), 'gpt-5.6-sol'); }); }); @@ -556,7 +555,7 @@ describe('issue #2517: install end-to-end — per-project config reaches Codex T assert.ok(resolver, 'expected a resolver from per-project config'); assert.strictEqual(resolver.runtime, 'codex'); const entry = resolver.resolve('gsd-planner'); - assert.deepStrictEqual(entry, { model: 'gpt-5.5', reasoning_effort: 'xhigh' }); + assert.deepStrictEqual(entry, { model: 'gpt-5.6-sol', reasoning_effort: 'xhigh' }); }); test('per-project config wins over global ~/.gsd/defaults.json', () => { @@ -569,7 +568,7 @@ describe('issue #2517: install end-to-end — per-project config reaches Codex T const resolver = readGsdRuntimeProfileResolver(tmpDir); assert.strictEqual(resolver.runtime, 'codex'); const entry = resolver.resolve('gsd-planner'); - assert.strictEqual(entry.model, 'gpt-5.5'); + assert.strictEqual(entry.model, 'gpt-5.6-sol'); }); test('generated Codex TOML embeds model = and model_reasoning_effort = lines', () => { @@ -581,7 +580,7 @@ describe('issue #2517: install end-to-end — per-project config reaches Codex T null, resolver ); - assert.match(toml, /^model = "gpt-5\.5"$/m); + assert.match(toml, /^model = "gpt-5\.6-sol"$/m); assert.match(toml, /^model_reasoning_effort = "xhigh"$/m); }); @@ -636,7 +635,7 @@ describe('issue #2517: RUNTIME_PROFILE_MAP single source of truth (finding #16)' // entries through `resolveTierEntry`, so any future drift between the two // files would surface as a test failure here rather than a silent bug. const codexOpus = RUNTIME_PROFILE_MAP.codex?.opus; - assert.deepStrictEqual(codexOpus, { model: 'gpt-5.5', reasoning_effort: 'xhigh' }); + assert.deepStrictEqual(codexOpus, { model: 'gpt-5.6-sol', reasoning_effort: 'xhigh' }); const claudeOpus = RUNTIME_PROFILE_MAP.claude?.opus; assert.deepStrictEqual(claudeOpus, { model: 'claude-opus-4-8' }); }); diff --git a/tests/workflow-size-baseline.json b/tests/workflow-size-baseline.json index 732a96b91..b85ca8b25 100644 --- a/tests/workflow-size-baseline.json +++ b/tests/workflow-size-baseline.json @@ -68,9 +68,9 @@ "scan.md": 7732, "secure-phase.md": 13520, "session-report.md": 4044, - "settings-advanced.md": 39718, + "settings-advanced.md": 39728, "settings-integrations.md": 15892, - "settings.md": 33457, + "settings.md": 33467, "ship.md": 24691, "sketch-wrap-up.md": 14267, "sketch.md": 20004,