From c4ebbdb6a6d09b9e2760e07f6e2a9c6c874ecefc Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Wed, 4 Feb 2026 13:40:57 +0900 Subject: [PATCH] =?UTF-8?q?Codex=20=E3=81=AE=E9=9A=9B=E3=81=AB=E3=83=96?= =?UTF-8?q?=E3=83=A9=E3=83=B3=E3=83=81=E5=90=8D=E3=81=AE=E3=82=B5=E3=83=9E?= =?UTF-8?q?=E3=83=AA=E5=87=A6=E7=90=86=E3=81=AB=E5=95=8F=E9=A1=8C=E3=81=8C?= =?UTF-8?q?=E3=81=82=E3=81=A3=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/summarize.test.ts | 33 ++++++++++++++++----------------- src/infra/task/summarize.ts | 11 +++++++---- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/__tests__/summarize.test.ts b/src/__tests__/summarize.test.ts index cc7ceeb..2da9779 100644 --- a/src/__tests__/summarize.test.ts +++ b/src/__tests__/summarize.test.ts @@ -38,13 +38,13 @@ const mockProvider = { beforeEach(() => { vi.clearAllMocks(); mockGetProvider.mockReturnValue(mockProvider); - mockLoadGlobalConfig.mockReturnValue({ - language: 'ja', - defaultPiece: 'default', - logLevel: 'info', - provider: 'claude', - model: 'haiku', - }); + mockLoadGlobalConfig.mockReturnValue({ + language: 'ja', + defaultPiece: 'default', + logLevel: 'info', + provider: 'claude', + model: undefined, + }); }); describe('summarizeTaskName', () => { @@ -63,16 +63,15 @@ describe('summarizeTaskName', () => { // Then expect(result).toBe('add-auth'); expect(mockGetProvider).toHaveBeenCalledWith('claude'); - expect(mockProviderCall).toHaveBeenCalledWith( - 'summarizer', - 'long task name for testing', - expect.objectContaining({ - cwd: '/project', - model: 'haiku', - allowedTools: [], - }) - ); - }); + expect(mockProviderCall).toHaveBeenCalledWith( + 'summarizer', + 'long task name for testing', + expect.objectContaining({ + cwd: '/project', + allowedTools: [], + }) + ); + }); it('should return AI-generated slug for English task name', async () => { // Given diff --git a/src/infra/task/summarize.ts b/src/infra/task/summarize.ts index fc704b4..15c5215 100644 --- a/src/infra/task/summarize.ts +++ b/src/infra/task/summarize.ts @@ -64,15 +64,18 @@ export class TaskSummarizer { const globalConfig = loadGlobalConfig(); const providerType = (globalConfig.provider as ProviderType) ?? 'claude'; - const model = options.model ?? globalConfig.model ?? 'haiku'; + const model = options.model ?? globalConfig.model; const provider = getProvider(providerType); - const response = await provider.call('summarizer', taskName, { + const callOptions: SummarizeOptions & { systemPrompt: string; allowedTools: [] } = { cwd: options.cwd, - model, systemPrompt: loadTemplate('score_slug_system_prompt', 'en'), allowedTools: [], - }); + }; + if (model) { + callOptions.model = model; + } + const response = await provider.call('summarizer', taskName, callOptions); const slug = sanitizeSlug(response.content); log.info('Task name summarized', { original: taskName, slug });