import { buildToneGuardBlock, AI_CLICHE_PATTERNS } from '../src/lib/contextBuilders/toneGuard'; import { getSystemPrompt } from '../src/utils'; describe('Tone Guard — AI 상투어 금지', () => { const block = buildToneGuardBlock(); test('실사례 클리셰(상담사 화법·대기 선언·허락 구걸)를 전부 금지한다', () => { expect(block).toContain('계시군요'); expect(block).toContain('저는 언제든 여기에 있습니다'); expect(block).toContain('괜찮으시다면'); expect(block).toContain('무엇을 도와드릴까요'); }); test('레지스트리의 모든 패턴이 블록에 나열된다 (단일 권위)', () => { for (const p of AI_CLICHE_PATTERNS) expect(block).toContain(p); }); test('대조 예시(나쁜 답 vs 좋은 답)와 동료 톤 지침을 포함한다', () => { expect(block).toContain('나쁜 답'); expect(block).toContain('좋은 답'); expect(block).toContain('오버해서 친한 척도 하지 마라'); }); test('기본 페르소나(작업 턴)에도 주입된다', () => { expect(getSystemPrompt()).toContain('[말투 — AI 상투어 금지]'); }); });