Task 10 of the slice plan. parseAiResponse runs the model JSON through a zod RawResponseSchema, then enforces slice rules: - title MUST contain Korean characters; throw otherwise. - summary normalized to exactly 3 lines (pad with empty when too few; collapse trailing lines into line 3 when too many). - tags filtered to /^[a-z0-9]+(-[a-z0-9]+)*$/ kebab-case and capped at 3. buildPrompt assembles the user-facing prompt with explicit Korean-output / kebab-tag / no-fence rules (PROMPT_VERSION=1). Verification: `npx vitest run tests/unit/ai-schema.test.ts` 7 passed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB