--- id: TASK-32 title: Wire v3 skill registry into audit generation status: Done assignee: [] created_date: '2026-06-06 20:27' updated_date: '2026-06-10 19:27' labels: [] dependencies: [] priority: high ordinal: 34000 --- ## Description Fix the final review finding by using the v3 skills registry and v3 finding validation in the live audit generation path while preserving best-effort fallback behavior. ## Acceptance Criteria - [x] #1 auditGenerationAction loads and passes a non-empty v3 skill registry from v2_elemente/skills.md/loadSkillsRegistry when available - [x] #2 Classification uses a v3 findings schema live instead of legacy-only internalFindingsSchema - [x] #3 Audit persistence validators accept v3 usedSkills with id and optional category without forcing undefined category fields ## Implementation Plan 1. Read current audit generation, schemas, validators, and focused tests 2. Add RED source-contract/schema tests for v3 registry, v3 classification, and optional usedSkill category 3. Run focused tests and record failures 4. Implement minimal wiring and validator/schema changes 5. Run focused tests green plus relevant verification 6. Self-review scope and update task notes without closing ## Implementation Notes RED: pnpm test tests/audit-generation-action-source.test.ts tests/ai-schemas.test.ts tests/audit-skills-schema.test.ts tests/audit-skill-registry-v3.test.ts failed in tsc because auditClassificationSchema and AuditClassification are not exported yet. This confirms the v3 classification schema is not wired. GREEN: pnpm exec tsc -p tsconfig.test.json exited 0. Focused compiled tests passed: node --test .test-output/tests/audit-generation-action-source.test.js .test-output/tests/ai-schemas.test.js .test-output/tests/audit-skills-schema.test.js .test-output/tests/audit-skill-registry-v3.test.js => 32/32 pass. Full pnpm test passed: 345/345. Self-review: no changes to convex/usageEvents.ts, no commit/staging; usedSkills optional fields are conditionally spread before persistence. ## Final Summary Closed per explicit user request while switching project tracking to pitchfast.