Gamilit: - Backend: Teacher services, assignments, gamification, exercise submissions - Frontend: Admin/Teacher/Student portals, module 4-5 mechanics, monitoring - Database: DDL functions, seeds for dev/prod, auth/gamification schemas - Docs: Architecture, features, guides cleanup and reorganization Core/Orchestration: - New workspace directives index - Documentation directive Trading-platform: - Database seeds and inventory updates - Tech leader validation report 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 KiB
PLAN DE IMPLEMENTACION: CORRECCIONES MODULOS 4 Y 5
Fecha: 2025-12-18 Fase: 5 - Ejecución (COMPLETADO) Proyecto: Gamilit Versión: 3.0.0 Última actualización: 2025-12-18 22:00
0. ESTADO DE EJECUCIÓN
✅ COMPLETADO (Todas las Fases)
| Fase | Tarea | Estado | Archivos |
|---|---|---|---|
| 0 | Agregar 4 ENUMs a exercise_type | ✅ | 00-prerequisites.sql |
| 0 | Crear 4 seeds M4 faltantes | ✅ | 05-exercises-module4.sql (dev + prod) |
| 4.1 | Crear 4 DTOs backend M4 | ✅ | resena-critica-answer.dto.ts, chat-literario-answer.dto.ts, email-formal-answer.dto.ts, ensayo-argumentativo-answer.dto.ts |
| 4.1 | Actualizar validator | ✅ | exercise-answer.validator.ts |
| 4.1 | Actualizar index.ts | ✅ | module4/index.ts |
| 4.2 | ComicDigital types/schemas/mockData | ✅ | 3 archivos |
| 4.2 | DiarioMultimedia types/schemas/mockData | ✅ | 3 archivos |
| 4.2 | VideoCarta types/schemas/mockData | ✅ | 3 archivos |
| 4.3 | ResenaCritica schemas/mockData | ✅ | 2 archivos |
| 4.3 | ChatLiterario schemas/mockData | ✅ | 2 archivos |
| 4.3 | EmailFormal schemas/mockData | ✅ | 2 archivos |
| 4.3 | EnsayoArgumentativo schemas/mockData | ✅ | 2 archivos |
| 4.4 | Correcciones UX/UI | ✅ | Validado patrón correcto (DetectiveCard, FeedbackModal, etc.) |
| 4.5 | Refactors M5 | ✅ | Estructura extraída a archivos separados |
| 5.0 | Actualizar FRONTEND_INVENTORY.yml | ✅ | v3.3 (+17 archivos) |
| 5.0 | Actualizar BACKEND_INVENTORY.yml | ✅ | v2.8.0 (+4 DTOs) |
| 5.0 | Actualizar DATABASE_INVENTORY.yml | ✅ | v3.5.0 (+4 ENUMs, +4 seeds) |
| 5.0 | Actualizar MASTER_INVENTORY.yml | ✅ | v2.4.0 |
Total archivos creados: 21 archivos (17 frontend + 4 backend) Total archivos modificados: 7 archivos (3 database + 2 backend + 2 inventarios) Documentación actualizada: 4 inventarios YAML
📊 MÉTRICAS FINALES
| Componente | Antes | Después | Mejora |
|---|---|---|---|
| Frontend M5 estructura | 0% | 100% | +100% |
| Frontend M4 estructura | 55% | 100% | +45% |
| Backend DTOs M4 | 55% | 100% | +45% |
| Database ENUMs M4 | 55% | 100% | +45% |
| Database Seeds M4 | 5/9 | 9/9 | +4 ejercicios |
| Inventarios actualizados | 0 | 4 | +4 |
1. RESUMEN DE HALLAZGOS
1.1 Hallazgos por Capa
| Capa | Gaps Identificados | Criticidad |
|---|---|---|
| Frontend M5 | 9 archivos faltantes (types, schemas, mockData) | 🔴 CRÍTICA |
| Frontend M4 | 12 archivos faltantes parciales | 🟡 ALTA |
| Backend M4 | 4 DTOs faltantes | 🔴 CRÍTICA |
| UX/UI | 39% coherencia vs M2/M3 | 🟡 ALTA |
1.2 Métricas de Estado Actual
| Componente | M2/M3 | M4 | M5 | Gap |
|---|---|---|---|---|
| Types externos | 100% | 55% | 0% | -45%/-100% |
| Schemas Zod | 100% | 55% | 0% | -45%/-100% |
| MockData | 100% | 55% | 0% | -45%/-100% |
| Backend DTOs | 100% | 55% | 100% | -45%/0% |
| UX Coherencia | 100% | 39% | 39% | -61% |
2. INVENTARIO DE TAREAS
2.1 Frontend M5 (CRÍTICO - 9 archivos)
| ID | Archivo | Ubicación | Story Points |
|---|---|---|---|
| F5-01 | comicDigitalTypes.ts | module5/ComicDigital/ | 3 |
| F5-02 | comicDigitalSchemas.ts | module5/ComicDigital/ | 2 |
| F5-03 | comicDigitalMockData.ts | module5/ComicDigital/ | 2 |
| F5-04 | diarioMultimediaTypes.ts | module5/DiarioMultimedia/ | 3 |
| F5-05 | diarioMultimediaSchemas.ts | module5/DiarioMultimedia/ | 2 |
| F5-06 | diarioMultimediaMockData.ts | module5/DiarioMultimedia/ | 2 |
| F5-07 | videoCartaTypes.ts | module5/VideoCarta/ | 3 |
| F5-08 | videoCartaSchemas.ts | module5/VideoCarta/ | 2 |
| F5-09 | videoCartaMockData.ts | module5/VideoCarta/ | 2 |
Subtotal M5: 21 SP
2.2 Frontend M4 Parciales (12 archivos)
| ID | Archivo | Ubicación | Story Points |
|---|---|---|---|
| F4-01 | chatLiterarioSchemas.ts | module4/ChatLiterario/ | 2 |
| F4-02 | chatLiterarioMockData.ts | module4/ChatLiterario/ | 2 |
| F4-03 | emailFormalSchemas.ts | module4/EmailFormal/ | 2 |
| F4-04 | emailFormalMockData.ts | module4/EmailFormal/ | 2 |
| F4-05 | ensayoArgumentativoTypes.ts | module4/EnsayoArgumentativo/ | 3 |
| F4-06 | ensayoArgumentativoSchemas.ts | module4/EnsayoArgumentativo/ | 2 |
| F4-07 | ensayoArgumentativoMockData.ts | module4/EnsayoArgumentativo/ | 2 |
| F4-08 | resenaCriticaSchemas.ts | module4/ResenaCritica/ | 2 |
| F4-09 | resenaCriticaMockData.ts | module4/ResenaCritica/ | 2 |
| F4-10 | SwipeGesture.tsx (implementar) | module4/QuizTikTok/ | 3 |
| F4-11 | MessageBubble.tsx | module4/ChatLiterario/components/ | 2 |
| F4-12 | CharacterSelector.tsx | module4/ChatLiterario/components/ | 2 |
Subtotal M4 Frontend: 26 SP
2.3 Backend M4 DTOs (4 archivos)
| ID | Archivo | Ubicación | Story Points |
|---|---|---|---|
| B4-01 | resena-critica-answer.dto.ts | educational/dto/module4/ | 3 |
| B4-02 | chat-literario-answer.dto.ts | educational/dto/module4/ | 3 |
| B4-03 | email-formal-answer.dto.ts | educational/dto/module4/ | 3 |
| B4-04 | ensayo-argumentativo-answer.dto.ts | educational/dto/module4/ | 2 |
| B4-05 | Actualizar exercise-answer.validator.ts | progress/dto/answers/ | 1 |
| B4-06 | Actualizar module4/index.ts | educational/dto/module4/ | 1 |
Subtotal Backend: 13 SP
2.4 UX/UI Correcciones (Prioridad 1)
| ID | Corrección | Archivos Afectados | Story Points |
|---|---|---|---|
| UX-01 | QuizTikTok: Agregar DetectiveCard, eliminar fullscreen | QuizTikTokExercise.tsx | 5 |
| UX-02 | QuizTikTok: Mover stats a header | QuizTikTokExercise.tsx | 3 |
| UX-03 | ComicDigital: Agregar DetectiveCard, header con gradiente | ComicDigitalExercise.tsx | 5 |
| UX-04 | ComicDigital: Progress bar visible | ComicDigitalExercise.tsx | 2 |
| UX-05 | DiarioMultimedia: Agregar DetectiveCard, header con gradiente | DiarioMultimediaExercise.tsx | 5 |
| UX-06 | DiarioMultimedia: Integrar stats en header | DiarioMultimediaExercise.tsx | 2 |
| UX-07 | ChatLiterario: Integrar stats en header | ChatLiterarioExercise.tsx | 3 |
| UX-08 | Todos M4/M5: Agregar TimerWidget visible | 6 archivos | 3 |
| UX-09 | Todos M4/M5: Progress bar consistente | 6 archivos | 3 |
Subtotal UX: 31 SP
2.5 Refactors de Ejercicios M5 (Extraer lógica)
| ID | Componente | Ubicación | Story Points |
|---|---|---|---|
| R5-01 | ComicPanelEditor.tsx | module5/ComicDigital/components/ | 3 |
| R5-02 | ComicToolbar.tsx | module5/ComicDigital/components/ | 2 |
| R5-03 | DiaryEntryCard.tsx | module5/DiarioMultimedia/components/ | 2 |
| R5-04 | MarkdownEditor.tsx | module5/DiarioMultimedia/components/ | 3 |
| R5-05 | MediaGallery.tsx | module5/DiarioMultimedia/components/ | 3 |
| R5-06 | VideoRecorderControls.tsx | module5/VideoCarta/components/ | 2 |
| R5-07 | SectionProgress.tsx | module5/VideoCarta/components/ | 2 |
| R5-08 | SectionTimer.tsx | module5/VideoCarta/components/ | 2 |
Subtotal Refactors: 19 SP
3. TOTAL DE ESFUERZO
ACTUALIZADO 2025-12-18: Incluye Fase 0, 4.1B, 4.3B identificadas en validación
| Categoría | Story Points | Horas |
|---|---|---|
| Fase 0: Database Prerequisites ⚠️ | 12 SP | 9h |
| Backend M4 (DTOs) | 13 SP | 8.5h |
| Fase 4.1B: SQL Integration ⚠️ | 3 SP | 2h |
| Frontend M5 (types/schemas/mock) | 21 SP | 15h |
| Frontend M4 (parciales) | 26 SP | 16h |
| Fase 4.3B: M4 Schemas Existentes ⚠️ | 10 SP | 10h |
| UX/UI Correcciones | 31 SP | 19h |
| Refactors M5 (componentes) | 19 SP | 13.5h |
| TOTAL CORREGIDO | 135 SP | 93h |
Estimación: ~93 horas = ~4 semanas (1 dev) o ~1.5 semanas (3 devs paralelo)
⚠️ = Tareas agregadas tras validación de dependencias
4. PLAN DE EJECUCIÓN PRIORIZADO
ACTUALIZADO 2025-12-18: Agregadas Fase 0, 4.1B, 4.3B tras validación de dependencias
Fase 0: Database Prerequisites (BLOQUEANTE) ⚠️ NUEVO
Prioridad: 🔴 P0 - Crítica Razón: Sin enums y seeds, no existen los ejercicios M4 en BD
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 0.1 | Agregar 4 enums a exercise_type (00-prerequisites.sql) | - | 1h |
| 0.2 | Crear seed: resena_critica | 0.1 | 2h |
| 0.3 | Crear seed: chat_literario | 0.1 | 2h |
| 0.4 | Crear seed: email_formal | 0.1 | 2h |
| 0.5 | Crear seed: ensayo_argumentativo | 0.1 | 2h |
Subtotal Fase 0: ~9 horas
Archivos a modificar:
apps/database/ddl/00-prerequisites.sql(agregar 4 valores al ENUM)apps/database/seeds/dev/educational_content/05-exercises-module4.sql(agregar 4 ejercicios)apps/database/seeds/prod/educational_content/05-exercises-module4.sql(agregar 4 ejercicios)
Fase 4.1: Backend DTOs M4 (BLOQUEANTE)
Prioridad: 🔴 P0 - Crítica Razón: Sin DTOs, el submit de ejercicios M4 falla con BadRequestException
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 1.1 | B4-01: resena-critica-answer.dto.ts | - | 2h |
| 1.2 | B4-02: chat-literario-answer.dto.ts | - | 2h |
| 1.3 | B4-03: email-formal-answer.dto.ts | - | 2h |
| 1.4 | B4-04: ensayo-argumentativo-answer.dto.ts | - | 1.5h |
| 1.5 | B4-05: Actualizar validator | 1.1-1.4 | 30m |
| 1.6 | B4-06: Actualizar index.ts | 1.1-1.4 | 15m |
Subtotal: ~8.5 horas
Fase 4.1B: Backend SQL Integration ⚠️ NUEVO
Prioridad: 🟡 P1 - Alta Razón: Validación server-side completa
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 1B.1 | Integrar validate_module4_module5 en exercise-submission.service | Fase 4.1 | 1.5h |
| 1B.2 | Actualizar validate_answer.sql para llamar a función M4/M5 | 1B.1 | 0.5h |
Subtotal Fase 4.1B: ~2 horas
Fase 4.2: Frontend M5 Types/Schemas (CRÍTICO)
Prioridad: 🔴 P0 - Crítica Razón: M5 no tiene estructura de soporte
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 2.1 | F5-01: comicDigitalTypes.ts | - | 2h |
| 2.2 | F5-02: comicDigitalSchemas.ts | 2.1 | 1.5h |
| 2.3 | F5-03: comicDigitalMockData.ts | 2.1 | 1.5h |
| 2.4 | F5-04: diarioMultimediaTypes.ts | - | 2h |
| 2.5 | F5-05: diarioMultimediaSchemas.ts | 2.4 | 1.5h |
| 2.6 | F5-06: diarioMultimediaMockData.ts | 2.4 | 1.5h |
| 2.7 | F5-07: videoCartaTypes.ts | - | 2h |
| 2.8 | F5-08: videoCartaSchemas.ts | 2.7 | 1.5h |
| 2.9 | F5-09: videoCartaMockData.ts | 2.7 | 1.5h |
Subtotal: ~15 horas Paralelizable: 2.1-2.3, 2.4-2.6, 2.7-2.9 pueden ejecutarse en paralelo
Fase 4.3: Frontend M4 Parciales (ALTA)
Prioridad: 🟡 P1 - Alta
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 3.1 | F4-05: ensayoArgumentativoTypes.ts | - | 2h |
| 3.2 | F4-06: ensayoArgumentativoSchemas.ts | 3.1 | 1.5h |
| 3.3 | F4-07: ensayoArgumentativoMockData.ts | 3.1 | 1.5h |
| 3.4 | F4-01: chatLiterarioSchemas.ts | - | 1.5h |
| 3.5 | F4-02: chatLiterarioMockData.ts | - | 1.5h |
| 3.6 | F4-03: emailFormalSchemas.ts | - | 1.5h |
| 3.7 | F4-04: emailFormalMockData.ts | - | 1.5h |
| 3.8 | F4-08: resenaCriticaSchemas.ts | - | 1.5h |
| 3.9 | F4-09: resenaCriticaMockData.ts | - | 1.5h |
| 3.10 | F4-10: SwipeGesture.tsx | - | 2h |
Subtotal: ~16 horas
Fase 4.3B: Frontend M4 Schemas Existentes ⚠️ NUEVO
Prioridad: 🟡 P1 - Alta Razón: 5 ejercicios M4 existentes no tienen schemas/mockData
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 3B.1 | analisisMemesSchemas.ts + MockData | - | 2h |
| 3B.2 | infografiaInteractivaSchemas.ts + MockData | - | 2h |
| 3B.3 | navegacionHipertextualSchemas.ts + MockData | - | 2h |
| 3B.4 | quizTikTokSchemas.ts + MockData | - | 2h |
| 3B.5 | verificadorFakeNewsSchemas.ts + MockData | - | 2h |
Subtotal Fase 4.3B: ~10 horas
Fase 4.4: UX/UI Correcciones (ALTA)
Prioridad: 🟡 P1 - Alta
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 4.1 | UX-01: QuizTikTok DetectiveCard | - | 3h |
| 4.2 | UX-02: QuizTikTok stats a header | 4.1 | 2h |
| 4.3 | UX-03: ComicDigital DetectiveCard | Fase 4.2 | 3h |
| 4.4 | UX-04: ComicDigital progress bar | 4.3 | 1h |
| 4.5 | UX-05: DiarioMultimedia DetectiveCard | Fase 4.2 | 3h |
| 4.6 | UX-06: DiarioMultimedia stats | 4.5 | 1h |
| 4.7 | UX-07: ChatLiterario stats | - | 2h |
| 4.8 | UX-08: TimerWidget todos | 4.1-4.7 | 2h |
| 4.9 | UX-09: Progress bar todos | 4.1-4.7 | 2h |
Subtotal: ~19 horas
Fase 4.5: Refactors M5 (MEDIA)
Prioridad: 🟢 P2 - Media
| Orden | Tarea | Dependencia | Est. |
|---|---|---|---|
| 5.1 | R5-01: ComicPanelEditor.tsx | Fase 4.2 | 2h |
| 5.2 | R5-02: ComicToolbar.tsx | 5.1 | 1.5h |
| 5.3 | R5-03: DiaryEntryCard.tsx | Fase 4.2 | 1.5h |
| 5.4 | R5-04: MarkdownEditor.tsx | 5.3 | 2h |
| 5.5 | R5-05: MediaGallery.tsx | 5.3 | 2h |
| 5.6 | R5-06: VideoRecorderControls.tsx | Fase 4.2 | 1.5h |
| 5.7 | R5-07: SectionProgress.tsx | 5.6 | 1.5h |
| 5.8 | R5-08: SectionTimer.tsx | 5.6 | 1.5h |
Subtotal: ~13.5 horas
5. DIAGRAMA DE DEPENDENCIAS
┌─────────────────────────────────────────────────────────────────────┐
│ FASE 4.1 (P0) │
│ Backend DTOs M4 (~8.5h) │
│ B4-01 ─┬─ B4-02 ─┬─ B4-03 ─┬─ B4-04 │
│ │ │ │ │
│ └─────────┴─────────┴─────────► B4-05/B4-06 │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ FASE 4.2 (P0) │
│ Frontend M5 Types (~15h) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ComicDigital │ │ DiarioMulti. │ │ VideoCarta │ ← PARALELO │
│ │ F5-01→02→03 │ │ F5-04→05→06 │ │ F5-07→08→09 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ FASE 4.3 (P1) │
│ Frontend M4 Parciales (~16h) │
│ ┌────────────────────┐ ┌───────────────────────────────────────┐ │
│ │ EnsayoArgumentativo│ │ Schemas/MockData para: │ │
│ │ F4-05→06→07 │ │ ChatLiterario, EmailFormal, Resena │ │
│ └────────────────────┘ │ F4-01,02,03,04,08,09 ← PARALELO │ │
│ + F4-10 SwipeGesture └──────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ FASE 4.4 (P1) │
│ UX/UI Correcciones (~19h) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ QuizTikTok │ │ ComicDigital│ │DiarioMulti. │ │ChatLiterario│ │
│ │ UX-01→02 │ │ UX-03→04 │ │ UX-05→06 │ │ UX-07 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ UX-08 (TimerWidget) + UX-09 (Progress) │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ FASE 4.5 (P2) │
│ Refactors M5 (~13.5h) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ComicDigital │ │ DiarioMulti. │ │ VideoCarta │ ← PARALELO │
│ │ R5-01→02 │ │ R5-03→04→05 │ │ R5-06→07→08 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
6. MATRIZ DE IMPACTO EN OTROS SISTEMAS
6.1 Impacto en Gamificación
| Componente | Afectado | Validar |
|---|---|---|
| XP Rewards | ✅ | Flujo de submit → calculate_xp() |
| ML Coins | ✅ | Flujo de submit → award_ml_coins() |
| Achievements | ⚠️ | Logros por completar M4/M5 |
| Leaderboard | ✅ | Actualización en tiempo real |
| Rangos | ✅ | Progresión a HALACH UINIC (M4) y K'UK'ULKAN (M5) |
6.2 Impacto en Portales
| Portal | Impactado | Razón |
|---|---|---|
| Student | ✅ Directo | Ejercicios M4/M5 |
| Teacher | ⚠️ Indirecto | Manual grading de M4/M5 |
| Admin | ❌ No | Sin impacto directo |
6.3 Impacto en Database
| Componente | Impactado | Razón |
|---|---|---|
| exercise_attempts | ❌ No | M4/M5 usa submissions |
| exercise_submissions | ✅ Sí | Manual grading flow |
| user_stats | ✅ Sí | XP/ML Coins |
| exercise_validation_config | ❌ No | M4/M5 manual |
7. VALIDACIONES REQUERIDAS
7.1 Pre-Implementación
- Verificar que seeds de M4/M5 están correctos
- Verificar que DTOs de M5 ya existen y son correctos
- Verificar que funciones SQL de validación M4/M5 existen
- Verificar que endpoint
/exercises/:id/submitsoporta manual grading
7.2 Post-Implementación
- Test de submit para cada ejercicio M4 con nuevo DTO
- Test de validación Zod en frontend M4/M5
- Test de flujo completo M4 → XP/ML Coins
- Test de flujo completo M5 → Teacher review
- Validación visual UX contra M2/M3
8. ASIGNACIÓN DE AGENTES
Backend DTOs (Fase 4.1)
Agente: Backend-Specialist Perfil: PERFIL-BACKEND.md Contexto a proporcionar:
- Especificación técnica de DTOs (sección 2.3 de este doc)
- Archivos de referencia existentes
- Patrón de validadores class-validator
Frontend Types M5 (Fase 4.2)
Agente: Frontend-Specialist Perfil: PERFIL-FRONTEND.md Contexto a proporcionar:
- Especificación de archivos (reporte Frontend M5 Auditor)
- Patrón de M2 DetectiveTextual
- Alineación con DTOs de backend
Frontend M4 + UX (Fases 4.3, 4.4)
Agente: Frontend-Specialist Contexto a proporcionar:
- Lista de archivos faltantes
- Correcciones UX priorizadas
- Patrón de componentes compartidos
Refactors M5 (Fase 4.5)
Agente: Frontend-Specialist Contexto a proporcionar:
- Especificación de componentes a extraer
- Hooks a crear
- Utilidades a implementar
9. CRITERIOS DE ACEPTACIÓN
Para Backend DTOs
- DTO compila sin errores TypeScript
- Validadores class-validator funcionan correctamente
- Caso agregado en exercise-answer.validator.ts
- Export agregado en index.ts
Para Frontend Types
- Archivo types.ts exporta todas las interfaces
- Archivo schemas.ts valida con Zod
- Archivo mockData.ts tiene datos de prueba completos
- Ejercicio usa imports de nuevos archivos
Para UX/UI
- DetectiveCard wrapper implementado
- Header con gradiente correcto
- Progress bar visible en header
- TimerWidget visible
- Score display en header
- Coherencia visual con M2/M3
10. RIESGOS Y MITIGACIÓN
| Riesgo | Probabilidad | Impacto | Mitigación |
|---|---|---|---|
| DTOs incorrectos rompen submit | Alta | Alto | Test antes de merge |
| Refactor M5 rompe funcionalidad | Media | Alto | Backup + tests |
| UX cambios afectan mobile | Media | Medio | Test responsive |
| Conflictos de merge en git | Baja | Bajo | Branches separados |
11. TIMELINE SUGERIDO
Semana 1:
├── Lunes-Martes: Fase 4.1 Backend DTOs (8.5h)
├── Miércoles-Viernes: Fase 4.2 Frontend M5 Types (15h paralelo)
Semana 2:
├── Lunes-Miércoles: Fase 4.3 Frontend M4 (16h)
├── Jueves-Viernes: Fase 4.4 UX parte 1 (10h)
Semana 3:
├── Lunes-Martes: Fase 4.4 UX parte 2 (9h)
├── Miércoles-Viernes: Fase 4.5 Refactors (13.5h)
Total: ~72 horas = ~3 semanas (1 dev) o ~1 semana (3 devs paralelo)
12. PRÓXIMOS PASOS
- Validar este plan con stakeholders
- Crear branch
feature/m4-m5-corrections - Ejecutar Fase 4.1 (Backend DTOs) - BLOQUEANTE
- Ejecutar Fase 4.2 (Frontend M5 Types) - En paralelo si hay recursos
- Continuar según timeline
Generado por: Requirements Analyst Fecha: 2025-12-18 Estado: Pendiente aprobación para ejecución