# 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.*