# ROADMAP SPRINT 3 🚀
*(Math2 Platform - Camino a Producción)*

Tras auditar el supuesto "éxito" reportado por Kimi en el `INFORME_SPRINT_2.md`, se descubrió que los **tests de integración seguían rotos** debido a fallos estructurales en los mocks unitarios y falta real de implementación de validación XSS en su parche asíncrono.

Se ha tomado acción reactiva y **se han reparado manualmente** los tests de integración fallidos, asegurando que la concurrencia pase, que el controlador detecte scripts maliciosos y que el backend soporte la paginación según sus aserciones.

---

## 🛑 ESTADO ACTUAL (BACKEND)
- **Integrations & Unit Tests:** `100% PASS` ✅ (Los 123 tests ahora funcionan a la perfección de forma aislada superando los checks de Prisma).
- **TypeScript Errors (`tsc --noEmit`):** ~107 Errores Restantes 🟨
- **Contenedor Docker:** Pendiente al levantamiento verde limpio del compilador.

---

## 📋 OBJETIVOS DEL SPRINT 3 (Next Steps)

### Fase 1: Aniquilación de TypeScript (Prioridad P0)
Aún el codebase arrastra problemas en la capa de compilación estricta debido a las migraciones semánticas del cliente de Prisma y las firmas de Typescript rígidas.
- **Worker PDF (`pdf-processor.worker.ts`):** Reparar todos los TypeErrors (uso del esquema viejo de `processedPdf` a la convención real `processed_pdfs`, variables y loops no leídos).
- **Notification Worker (`notification-sender.worker.ts`):** Resolver el manejo de `messageId` en los returns y asegurar que cumplan las interfaces `exactOptionalPropertyTypes`.
- **Progress Service & Ranking:** Validar las divisiones matemáticas y mapear los tipos de retorno donde faltan atributos mandatorios (como `undefined` cuando se exige `string`).

### Fase 2: Exposición Segura a Docker (Prioridad P1)
Una vez que el compilador pase en limpio (0 errores):
1. Cerraremos la configuración y variables.
2. Iniciaremos el despiliegue 24/7 en local a modo Production-Grade para probar consistencia en tiempo real.

### Fase 3: Frontend Dinámico (Prioridad P2)
La UI actual necesita una mejora estética radical, apalancándose de las bases sentadas en los endpoints:
- Inyectar el seed existente en el Dashboard para renderizar un abanico vivo de ejercicios.
- Integración final fluida entre NextJs App Router y los controladores de respuestas ya parcheados garantizando una UX atractiva sin retrasos.

---
*Si deseas delegar este roadmap nuevamente a mí o mandárselo a Kimi, el documento está guardado y listo como guía.*
