diff --git a/src/commands/effort/effort.tsx b/src/commands/effort/effort.tsx index 805901c8a..4b1d76b58 100644 --- a/src/commands/effort/effort.tsx +++ b/src/commands/effort/effort.tsx @@ -155,7 +155,7 @@ export async function call(onDone: LocalJSXCommandOnDone, _context: unknown, arg if (COMMON_HELP_ARGS.includes(args)) { onDone( - 'Usage: /effort [low|medium|high|xhigh|max|auto]\n\nEffort levels:\n- low: Quick, straightforward implementation\n- medium: Balanced approach with standard testing\n- high: Comprehensive implementation with extensive testing\n- xhigh: Extra high reasoning for supported models, including ChatGPT Codex models\n- max: Maximum capability with deepest reasoning where supported (Opus 4.6/4.7, DeepSeek V4 Pro); maps to xhigh for ChatGPT Codex models\n- auto: Use the default effort level for your model', + 'Usage: /effort [low|medium|high|xhigh|max|auto]\n\nEffort levels:\n- low: Quick, straightforward implementation\n- medium: Balanced approach with standard testing\n- high: Comprehensive implementation with extensive testing\n- xhigh: Extended reasoning beyond high, short of max; including ChatGPT Codex models\n- max: Maximum capability with deepest reasoning; maps to xhigh for ChatGPT Codex models\n- auto: Use the default effort level for your model', ); return; } diff --git a/src/utils/__tests__/effort.test.ts b/src/utils/__tests__/effort.test.ts index 4424321c6..eb7c0a500 100644 --- a/src/utils/__tests__/effort.test.ts +++ b/src/utils/__tests__/effort.test.ts @@ -224,6 +224,22 @@ describe('getEffortLevelDescription', () => { const desc = getEffortLevelDescription('max') expect(desc).toContain('Maximum') }) + + test('max description does not contain model names', () => { + const desc = getEffortLevelDescription('max') + expect(desc).not.toContain('Opus') + expect(desc).not.toContain('DeepSeek') + }) + + test("returns description for 'xhigh'", () => { + const desc = getEffortLevelDescription('xhigh') + expect(desc).toContain('Extended reasoning') + }) + + test('xhigh description does not contain model names', () => { + const desc = getEffortLevelDescription('xhigh') + expect(desc).not.toContain('Opus') + }) }) // ─── resolvePickerEffortPersistence ──────────────────────────────────── diff --git a/src/utils/effort.ts b/src/utils/effort.ts index bbc16917e..90c597156 100644 --- a/src/utils/effort.ts +++ b/src/utils/effort.ts @@ -262,9 +262,9 @@ export function getEffortLevelDescription(level: EffortLevel): string { case 'high': return 'Comprehensive implementation with extensive testing and documentation' case 'xhigh': - return 'Extended reasoning beyond high, short of max (Opus 4.7 only)' + return 'Extended reasoning beyond high, short of max' case 'max': - return 'Maximum capability with deepest reasoning (Opus 4.6/4.7/DeepSeek V4 Pro)' + return 'Maximum capability with deepest reasoning' } }