- Add OpenRouter response-healing plugin to auto-fix malformed JSON
- Add stream: false to all OpenRouter API calls (required for plugin)
- Add Zod schema validation before PDF generation with AI repair fallback
- Fix CUID2 ID generation for skills (was generating invalid "skill-0")
- Update idSchema to validate CUID2 format matching RXResume's validation
- Save failed JSON and screenshots to data/errors/ for debugging
- Add tests for CUID2 validation to prevent regression