# talleres_desarrollo.md ## Implemented Scope - Dashboard subsection under `dashboard#modulos` with maturity index, next-level card, radar, dimension scoring, brecha analysis, strategic recommendations, and educational cards. - New route `/talleres-desarrollo` with: - KPI header (maturity index, dimensions with brechas, 100% target) - Dimension chips with preselection via `?dimension=` - Workshop cards per dimension - Video modal and guided completion flow - Evidence upload and immediate UI refresh - Full persistence layer in Prisma: - `DevelopmentWorkshop` - `DevelopmentWorkshopProgress` - `DevelopmentWorkshopEvidence` - enums `WorkshopProgressStatus`, `WorkshopEvidenceValidationStatus` - API layer: - `GET /api/talleres` - `POST /api/talleres/progress` - `POST /api/talleres/evidence` - Seed catalog for 5 dimensions (minimum 1 workshop each). ## Implemented Files - DB and seed: - `prisma/schema.prisma` - `prisma/migrations/20260315120000_talleres_desarrollo/migration.sql` - `prisma/seed.mjs` - Domain and logic: - `src/lib/talleres/types.ts` - `src/lib/talleres/metrics.ts` - `src/lib/talleres/server.ts` - `src/lib/talleres/validation.ts` - API: - `src/app/api/talleres/route.ts` - `src/app/api/talleres/progress/route.ts` - `src/app/api/talleres/evidence/route.ts` - UI: - `src/components/app/dashboard-maturity-section.tsx` - `src/components/app/talleres-desarrollo-view.tsx` - `src/app/talleres-desarrollo/page.tsx` - Updated `src/app/dashboard/page.tsx` - Updated `src/components/app/page-shell.tsx` - Tests: - `src/lib/talleres/__tests__/metrics.test.ts` - `src/lib/talleres/__tests__/validation.test.ts` ## Validation Run - `npx prisma generate` ✅ - `npx prisma validate` ✅ - `npm test` ✅ - `npm run lint` ✅ (existing warnings remain in `pdfExtractor.js`, no new errors) - `npm run build` ✅ ## Notes - Evidence storage reuses existing strategic evidence storage constraints (mime and 10MB limit). - Workshop improvements are reflected in talleres/dashboard snapshot layer without altering base diagnostic scoring formulas. - Premium access follows the existing policy used by premium modules.