diff --git a/.codex/AGENTS.md b/.codex/AGENTS.md index 847c7b317..9f6c5d28a 100644 --- a/.codex/AGENTS.md +++ b/.codex/AGENTS.md @@ -9,10 +9,10 @@ For repo navigation, surface ownership, and PR diff packet guidance, read | Task Type | Recommended Model | |-----------|------------------| -| Routine coding, tests, formatting | GPT 5.5 | -| Complex features, architecture | GPT 5.5 | -| Debugging, refactoring | GPT 5.5 | -| Security review | GPT 5.5 | +| Routine coding, tests, formatting | GPT-6 Luna medium | +| Complex features, architecture | GPT-6 Sol high | +| Debugging, refactoring | GPT-6 Sol high | +| Security review | GPT-6 Sol high | ## Skills Discovery diff --git a/.codex/agents/docs-researcher.toml b/.codex/agents/docs-researcher.toml index 4d6d8f479..5850a663e 100644 --- a/.codex/agents/docs-researcher.toml +++ b/.codex/agents/docs-researcher.toml @@ -1,4 +1,4 @@ -model = "gpt-5.5" +model = "gpt-6-luna" model_reasoning_effort = "medium" sandbox_mode = "read-only" diff --git a/.codex/agents/explorer.toml b/.codex/agents/explorer.toml index 5665e2c87..0d2fec087 100644 --- a/.codex/agents/explorer.toml +++ b/.codex/agents/explorer.toml @@ -1,4 +1,4 @@ -model = "gpt-5.5" +model = "gpt-6-luna" model_reasoning_effort = "medium" sandbox_mode = "read-only" diff --git a/.codex/agents/reviewer.toml b/.codex/agents/reviewer.toml index 4c27fdacb..24f1920f4 100644 --- a/.codex/agents/reviewer.toml +++ b/.codex/agents/reviewer.toml @@ -1,4 +1,4 @@ -model = "gpt-5.5" +model = "gpt-6-sol" model_reasoning_effort = "high" sandbox_mode = "read-only" diff --git a/tests/codex-config.test.js b/tests/codex-config.test.js index 384ddf0f7..89fc40236 100644 --- a/tests/codex-config.test.js +++ b/tests/codex-config.test.js @@ -215,6 +215,7 @@ const checks = [ ['legacy merger preserves customized values, unknown tables and dry-run bytes', () => { withMergeFixture(({ target, run }) => { const custom = { + model: 'user-selected-model', model_provider: 'user-selected-provider', approval_policy: 'never', sandbox_mode: 'read-only', web_search: 'disabled', notify: ['custom-notifier'], persistent_instructions: 'My instructions', extra: 'keep', features: { multi_agent: false }, profiles: { strict: { sandbox_mode: 'workspace-write' } }, @@ -227,7 +228,7 @@ const checks = [ const result = run(); assert.strictEqual(result.status, 0, result.stderr); const merged = TOML.parse(fs.readFileSync(target, 'utf8')); - for (const key of ['approval_policy', 'sandbox_mode', 'web_search', 'notify', + for (const key of ['model', 'model_provider', 'approval_policy', 'sandbox_mode', 'web_search', 'notify', 'persistent_instructions', 'extra', 'features', 'mcp_servers']) { assert.deepStrictEqual(merged[key], custom[key]); } @@ -260,6 +261,27 @@ const checks = [ for (const [name, fn] of checks) { if (test(name, fn)) passed++; else failed++; } +if ( + test('sample Codex roles route research to GPT-6 Luna and review to GPT-6 Sol', () => { + const expected = { + 'explorer.toml': ['gpt-6-luna', 'medium'], + 'docs-researcher.toml': ['gpt-6-luna', 'medium'], + 'reviewer.toml': ['gpt-6-sol', 'high'], + }; + for (const [roleFile, [model, effort]] of Object.entries(expected)) { + const roleConfig = fs.readFileSync(path.join(codexAgentsDir, roleFile), 'utf8'); + assert.ok(roleConfig.includes(`model = "${model}"`), `${roleFile}: expected ${model}`); + assert.ok( + roleConfig.includes(`model_reasoning_effort = "${effort}"`), + `${roleFile}: expected ${effort} effort`, + ); + } + const guidance = fs.readFileSync(path.join(repoRoot, '.codex', 'AGENTS.md'), 'utf8'); + assert.ok(!/GPT 5\.5/.test(guidance), 'Expected model recommendations to be updated'); + }) +) + passed++; +else failed++; console.log(`\nPassed: ${passed}`); console.log(`Failed: ${failed}`);