|
|
@@ -395,12 +395,12 @@ describe('council agent model resolution', () => {
|
|
|
// entry in the agent preset — the exact scenario from issue #369.
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
- oracle: { model: 'openai/gpt-5.4' },
|
|
|
+ oracle: { model: 'openai/gpt-5.5' },
|
|
|
},
|
|
|
council: {
|
|
|
presets: {
|
|
|
default: {
|
|
|
- alpha: { model: 'openai/gpt-5.4-mini' },
|
|
|
+ alpha: { model: 'openai/gpt-5.5-fast' },
|
|
|
},
|
|
|
},
|
|
|
_legacyMasterModel: 'anthropic/claude-opus-4-6',
|
|
|
@@ -420,7 +420,7 @@ describe('council agent model resolution', () => {
|
|
|
council: {
|
|
|
presets: {
|
|
|
default: {
|
|
|
- alpha: { model: 'openai/gpt-5.4-mini' },
|
|
|
+ alpha: { model: 'openai/gpt-5.5-fast' },
|
|
|
},
|
|
|
},
|
|
|
_legacyMasterModel: 'anthropic/claude-opus-4-6',
|
|
|
@@ -437,7 +437,7 @@ describe('council agent model resolution', () => {
|
|
|
council: {
|
|
|
presets: {
|
|
|
default: {
|
|
|
- alpha: { model: 'openai/gpt-5.4-mini' },
|
|
|
+ alpha: { model: 'openai/gpt-5.5-fast' },
|
|
|
},
|
|
|
},
|
|
|
},
|
|
|
@@ -455,7 +455,7 @@ describe('council agent model resolution', () => {
|
|
|
master: { model: 'anthropic/claude-opus-4-6' },
|
|
|
presets: {
|
|
|
default: {
|
|
|
- alpha: { model: 'openai/gpt-5.4-mini' },
|
|
|
+ alpha: { model: 'openai/gpt-5.5-fast' },
|
|
|
},
|
|
|
},
|
|
|
};
|
|
|
@@ -480,7 +480,7 @@ describe('options passthrough', () => {
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
options: { textVerbosity: 'low' },
|
|
|
},
|
|
|
},
|
|
|
@@ -512,7 +512,7 @@ describe('options passthrough', () => {
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
variant: 'high',
|
|
|
temperature: 0.7,
|
|
|
options: { textVerbosity: 'low', reasoningEffort: 'medium' },
|
|
|
@@ -521,7 +521,7 @@ describe('options passthrough', () => {
|
|
|
};
|
|
|
const agents = createAgents(config);
|
|
|
const oracle = agents.find((a) => a.name === 'oracle');
|
|
|
- expect(oracle?.config.model).toBe('openai/gpt-5.4');
|
|
|
+ expect(oracle?.config.model).toBe('openai/gpt-5.5');
|
|
|
expect(oracle?.config.variant).toBe('high');
|
|
|
expect(oracle?.config.temperature).toBe(0.7);
|
|
|
expect(oracle?.config.options).toEqual({
|
|
|
@@ -533,7 +533,7 @@ describe('options passthrough', () => {
|
|
|
test('options are absent when not configured', () => {
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
- oracle: { model: 'openai/gpt-5.4' },
|
|
|
+ oracle: { model: 'openai/gpt-5.5' },
|
|
|
},
|
|
|
};
|
|
|
const agents = createAgents(config);
|
|
|
@@ -545,7 +545,7 @@ describe('options passthrough', () => {
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
options: { textVerbosity: 'low' },
|
|
|
},
|
|
|
},
|
|
|
@@ -559,7 +559,7 @@ describe('options passthrough', () => {
|
|
|
const config: PluginConfig = {
|
|
|
agents: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
options: { reasoningEffort: 'medium' },
|
|
|
},
|
|
|
},
|
|
|
@@ -595,7 +595,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('accepts options alongside other fields', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
variant: 'high',
|
|
|
temperature: 0.7,
|
|
|
options: { textVerbosity: 'low' },
|
|
|
@@ -608,7 +608,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('config without options is valid', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
});
|
|
|
expect(result.success).toBe(true);
|
|
|
if (result.success) {
|
|
|
@@ -632,7 +632,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('accepts prompt and orchestratorPrompt override fields', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
prompt: 'You are a specialized reviewer.',
|
|
|
orchestratorPrompt: '@reviewer\n- Role: Specialized reviewer',
|
|
|
});
|
|
|
@@ -647,7 +647,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('rejects empty prompt fields', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
prompt: '',
|
|
|
});
|
|
|
expect(result.success).toBe(false);
|
|
|
@@ -655,7 +655,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('rejects empty orchestratorPrompt fields', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
orchestratorPrompt: '',
|
|
|
});
|
|
|
expect(result.success).toBe(false);
|
|
|
@@ -663,7 +663,7 @@ describe('AgentOverrideConfigSchema options validation', () => {
|
|
|
|
|
|
test('rejects description field on overrides', () => {
|
|
|
const result = AgentOverrideConfigSchema.safeParse({
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
description: 'not supported for custom agents',
|
|
|
} as Record<string, unknown>);
|
|
|
expect(result.success).toBe(false);
|
|
|
@@ -675,7 +675,7 @@ describe('PluginConfigSchema custom-agent-only prompt fields', () => {
|
|
|
const result = PluginConfigSchema.safeParse({
|
|
|
agents: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
prompt: 'ignored built-in prompt override',
|
|
|
},
|
|
|
},
|
|
|
@@ -688,7 +688,7 @@ describe('PluginConfigSchema custom-agent-only prompt fields', () => {
|
|
|
const result = PluginConfigSchema.safeParse({
|
|
|
agents: {
|
|
|
explorer: {
|
|
|
- model: 'openai/gpt-5.4-mini',
|
|
|
+ model: 'openai/gpt-5.5-fast',
|
|
|
orchestratorPrompt: '@explorer\n- Role: should be invalid here',
|
|
|
},
|
|
|
},
|
|
|
@@ -702,7 +702,7 @@ describe('PluginConfigSchema custom-agent-only prompt fields', () => {
|
|
|
presets: {
|
|
|
openai: {
|
|
|
oracle: {
|
|
|
- model: 'openai/gpt-5.4',
|
|
|
+ model: 'openai/gpt-5.5',
|
|
|
prompt: 'ignored preset built-in prompt override',
|
|
|
},
|
|
|
},
|
|
|
@@ -716,7 +716,7 @@ describe('PluginConfigSchema custom-agent-only prompt fields', () => {
|
|
|
const result = PluginConfigSchema.safeParse({
|
|
|
agents: {
|
|
|
janitor: {
|
|
|
- model: 'openai/gpt-5.4-mini',
|
|
|
+ model: 'openai/gpt-5.5-fast',
|
|
|
prompt: 'You are Janitor.',
|
|
|
orchestratorPrompt: '@janitor\n- Role: Cleanup specialist',
|
|
|
},
|
|
|
@@ -809,8 +809,8 @@ describe('disabled_agents', () => {
|
|
|
const config: PluginConfig = {
|
|
|
disabled_agents: ['janitor'],
|
|
|
agents: {
|
|
|
- janitor: { model: 'openai/gpt-5.4-mini' },
|
|
|
- reviewer: { model: 'openai/gpt-5.4-mini' },
|
|
|
+ janitor: { model: 'openai/gpt-5.5-fast' },
|
|
|
+ reviewer: { model: 'openai/gpt-5.5-fast' },
|
|
|
},
|
|
|
};
|
|
|
|