workspace-v1/orchestration/analisis/C1-BACKLOG-DISCREPANCIAS-NEXUS-2026-01-10.md
rckrdmrd e56e927a4d [MAINT-001] docs(orchestration): Actualizacion directivas SIMCO, perfiles y documentacion
Cambios incluidos:
- INDICE-DIRECTIVAS-WORKSPACE.yml actualizado
- Perfiles de agentes: PERFIL-ML.md, PERFIL-SECURITY.md
- Directivas SIMCO actualizadas:
  - SIMCO-ASIGNACION-PERFILES.md
  - SIMCO-CCA-SUBAGENTE.md
  - SIMCO-CONTEXT-ENGINEERING.md
  - SIMCO-CONTEXT-RESOLUTION.md
  - SIMCO-DELEGACION-PARALELA.md
- Inventarios actualizados: DEVENV-MASTER, DEVENV-PORTS
- Documentos de analisis agregados:
  - Analisis y planes de fix student portal
  - Analisis scripts BD
  - Analisis achievements, duplicados, gamification
  - Auditoria documentacion gamilit
  - Backlog discrepancias NEXUS
  - Planes maestros de resolucion
- Reportes de ejecucion agregados
- Knowledge base gamilit README actualizado
- Referencia submodulo gamilit actualizada (commit beb94f7)

Validaciones:
- Plan validado contra directivas SIMCO-GIT
- Dependencias verificadas
- Build gamilit: EXITOSO
2026-01-10 04:51:28 -06:00

11 KiB

C1: Backlog de Discrepancias NEXUS - Gamilit

Fecha: 2026-01-10 Estado: VALIDADO - MAYORÍA RESUELTOS Origen: REPORTE-FINAL-VALIDACION-INTEGRAL-2025-11-04.md Validación: D2-REPORTE-CONSOLIDADO-VALIDACION-DISCREPANCIAS-2026-01-10.md Objetivo: Tracking estructurado para equipo de desarrollo


Resumen Ejecutivo

Prioridad Issues Resueltos Pendientes Estado
P0 - BLOQUEADORES 4 4 (100%) 0 CERRADO
P1 - ALTOS 12 10 (~83%) 2 ⚠️ CASI COMPLETO
P2 - MEDIOS 15 ~5 (~33%) ~10 🔴 EN PROGRESO
P3 - BAJOS 3 0 (0%) 3 📋 BACKLOG
TOTAL 34 ~19 (56%) ~15 -

Estado de Coherencia Actualizado

                        Nov 2025    Ene 2026    Cambio
Database → Backend:     94.5%       98%+        +3.5%
Backend → Frontend:     28.2%       75%+        +47%  ✅ MEJORA SIGNIFICATIVA
Type Safety E2E:        62%         85%+        +23%
API Coverage (DB):      42%         ~55%        +13%

P0 - BLOQUEADORES TODOS RESUELTOS

Validación completada: 2026-01-10 Documento de validación: D1-VALIDACION-P0-BLOQUEADORES-2026-01-10.md

P0-001: Enum difficulty_level RESUELTO

  • Fecha resolución: 2025-11-11
  • Validación: 8 valores CEFR sincronizados en las 3 capas
  • Archivo: enums.constants.ts - v2.0 CEFR

P0-002: Enum exercise_type RESUELTO

  • Fecha resolución: 2026-01-07
  • Validación: 33 mecánicas sincronizadas en las 3 capas
  • Archivo: exercise_type.sql - 33 valores

P0-003: Conflictos orden rutas RESUELTO

  • Validación: Rutas específicas ordenadas correctamente
  • Archivo: modules.controller.ts - orden correcto verificado

P0-004: Guards deshabilitados RESUELTO

  • Validación: @UseGuards(JwtAuthGuard) habilitado a nivel de clase
  • Archivos: user-stats.controller.ts, achievements.controller.ts

### P0-001: Enum difficulty_level Desincronizado - Severidad: BLOQUEADOR - Esfuerzo: 1 hora - Responsable: NEXUS-DATABASE - Descripción: Database tiene 3 valores, Backend/Frontend usan 8

P0-002: Enum exercise_type Desincronizado

  • Severidad: BLOQUEADOR
  • Esfuerzo: 1 hora
  • Responsable: NEXUS-DATABASE
  • Descripción: Backend tiene 5 tipos no en DB, DB tiene 2 no en Backend
  • Backend extras: diario_multimedia, comic_digital, video_carta, verdadero_falso, completar_espacios
  • DB extras: capsula_tiempo, collage_digital
  • Impacto: INSERT de ejercicios nuevos fallará
  • Solución: Sincronizar agregando valores faltantes a DB enum

P0-003: Conflictos de Orden de Rutas

  • Severidad: BLOQUEADOR
  • Esfuerzo: 30 min
  • Responsable: NEXUS-BACKEND
  • Descripción: Rutas específicas después de rutas genéricas :id
  • Archivos afectados:
    • modules.controller.ts: /modules/difficulty/:difficulty debe ir antes de /modules/:id
    • classrooms.controller.ts: /classrooms/code/:code debe ir antes de /classrooms/:id
  • Impacto: :id captura "difficulty" y "code" como UUIDs inválidos

P0-004: Guards de Autenticación Deshabilitados

  • Severidad: BLOQUEADOR (Seguridad)
  • Esfuerzo: 15 min
  • Responsable: NEXUS-BACKEND
  • Descripción: @UseGuards(JwtAuthGuard) comentado
  • Archivos afectados:
    • user-stats.controller.ts
    • achievements.controller.ts
  • Impacto: Endpoints accesibles sin autenticación
  • Solución: Descomentar decorator @UseGuards(JwtAuthGuard)

P1 - ALTOS (Siguientes 2-3 Sprints)

P1-001: UserStats Interface Ausente en Frontend

  • Severidad: ALTA
  • Esfuerzo: 2 horas
  • Responsable: NEXUS-FRONTEND
  • Descripción: Backend tiene 40 propiedades, Frontend solo 6 básicas (85% faltante)
  • Propiedades críticas faltantes:
    • ML Coins: ml_coins, ml_coins_earned_total, ml_coins_spent_total
    • Streaks: current_streak, max_streak, streak_started_at
    • Progress: exercises_completed, modules_completed, achievements_earned
    • Rankings: global_rank_position, class_rank_position
  • Archivo a crear: /shared/types/gamification.types.ts
  • Impacto: Gamification features rotas/incompletas

P1-002: Module Interface Incompleta (31% coverage)

  • Severidad: ALTA
  • Esfuerzo: 1.5 horas
  • Responsable: NEXUS-FRONTEND
  • Descripción: Frontend 14 propiedades, Backend 45
  • Propiedades faltantes:
    • Gamification: xp_reward, ml_coins_reward
    • Academic: grade_levels, subjects, competencies
    • Maya Rank: maya_rank_required, maya_rank_granted
    • Versioning: version, version_notes, reviewed_by
  • Impacto: Módulos sin metadata ni rewards

P1-003: Admin Module Tipos Ausentes (0% coverage)

  • Severidad: ALTA
  • Esfuerzo: 3 horas
  • Responsable: NEXUS-FRONTEND
  • Descripción: 24 DTOs en Backend, 0 en Frontend
  • DTOs faltantes: Organizations, Users Management, System Config, Audit Logs, System Health, Metrics, Content Moderation
  • Archivos a crear:
    • /shared/types/admin.types.ts
    • /lib/api/admin.api.ts
  • Impacto: Panel administrativo no implementable

P1-004: ExerciseType Mismatch Frontend

  • Severidad: ALTA
  • Esfuerzo: 1-2 horas
  • Responsable: NEXUS-FRONTEND
  • Descripción: Frontend define 6 tipos, Backend/DB tienen 27+
  • Frontend actual: multiple_choice, code_completion, true_false, fill_in_blank
  • Backend: crucigrama, detective_textual, quiz_tiktok, etc.
  • Impacto: Frontend NO PUEDE RENDERIZAR 21+ tipos de ejercicio
  • Solución: Actualizar enum y componentes de renderizado

P1-005: Token Refresh No Implementado

  • Severidad: ALTA
  • Esfuerzo: 2-3 horas
  • Responsable: NEXUS-BACKEND
  • Descripción: POST /auth/refresh existe pero lanza "Not implemented yet"
  • Impacto: Usuarios deben re-login al expirar token
  • Archivo: auth.controller.ts
  • Solución: Implementar usando SessionManagementService

P1-006: Achievement Interface Incompleta

  • Severidad: ALTA
  • Esfuerzo: 1 hora
  • Responsable: NEXUS-FRONTEND
  • Descripción: 13 propiedades faltantes
  • Naming mismatch: is_secret (backend) → isHidden (frontend)
  • Falta: ml_coins_reward, difficulty_level, unlock_message

P1-007: Classroom Interface Incompleta (36% coverage)

  • Severidad: ALTA
  • Esfuerzo: 1 hora
  • Responsable: NEXUS-FRONTEND
  • Descripción: 16 propiedades faltantes (64%)
  • Falta: grade_level, section, subject, schedule, meeting_url

P1-008: ExerciseSubmission Incompleta (47% coverage)

  • Severidad: ALTA
  • Esfuerzo: 45 min
  • Responsable: NEXUS-FRONTEND
  • Descripción: 10 propiedades faltantes
  • Falta: comodines_used, hint_used, ml_coins_spent, time_spent_seconds
  • Extra innecesario en Frontend: attempt_id

P1-009: Audit Logging Module No Implementado

  • Severidad: ALTA (Compliance)
  • Esfuerzo: 35-45 horas
  • Responsable: NEXUS-BACKEND
  • Descripción: 5 tablas DB sin módulo backend
  • Tablas: audit_logs, performance_metrics, system_alerts, system_logs, user_activity
  • Plan detallado: Ver AUDIT_LOGGING_*.md

P1-010 a P1-012: Módulos Sin Cobertura Frontend

  • Módulos afectados: Missions (3 DTOs), Notifications (4 DTOs), Powerups (4 DTOs), Content (6 DTOs)
  • Esfuerzo total: ~9 horas
  • Responsable: NEXUS-FRONTEND

P2 - MEDIOS (Sprints 4-6)

P2-001: System Configuration Module No Implementado

  • Severidad: MEDIA
  • Esfuerzo: 22-28 horas
  • Responsable: NEXUS-BACKEND
  • Descripción: 2 tablas DB sin módulo backend
  • Tablas: system_settings, feature_flags
  • Impacto: Configuraciones hardcodeadas, sin feature flags
  • Plan detallado: Ver IMPLEMENTATION_PLAN_system_configuration.json

P2-002 a P2-010: Tablas Sin Rutas API (25/43 = 58%)

  • Alta Prioridad:
    • social_features.friendships - Sistema social completo
    • gamification_system.ml_coins_transactions - Historial
  • Media Prioridad:
    • audit_logging.audit_logs
    • educational_content.assessment_rubrics
    • gamification_system.comodines_inventory
    • progress_tracking.learning_sessions
  • Esfuerzo estimado: 8-12 horas

P2-011: Endpoints con Objetos Inline (sin DTOs)

  • Severidad: MEDIA
  • Descripción: 8 endpoints usando objetos inline
  • Impacto: Sin validación de tipos, documentación incompleta

P2-012: UUIDs Sin Validación

  • Severidad: MEDIA
  • Descripción: 130 parámetros UUID sin ParseUUIDPipe (92%)
  • Impacto: Errores 500 en lugar de 400 con UUIDs inválidos

P2-013: JSONB Sin Tipar

  • Severidad: MEDIA
  • Descripción: Todos los campos JSONB son Record<string, any>
  • Campos críticos:
    • exercise.config - 27+ estructuras diferentes
    • exercise.content, exercise.solution
    • submission.answer_data
    • user_stats.metadata
  • Solución: Discriminated unions por exercise_type

P2-014: Webhooks Sin Protección

  • Severidad: MEDIA (Seguridad)
  • Descripción: Sin IP whitelist ni API key
  • Responsable: NEXUS-BACKEND

P2-015: Type Mismatch comodines_used

  • Severidad: MEDIA
  • Descripción: jsonb (DB) vs string[] (Backend)
  • Solución: Cambiar Backend a Record<string, any> o definir interface

P3 - BAJOS (Backlog)

P3-001: Estandarizar Naming Conventions

  • Esfuerzo: 4-6 horas
  • Descripción: Mix de snake_case y camelCase
  • Ejemplos:
    • accessToken (backend) vs access_token (frontend)
    • answer_data (backend) vs submission_data (frontend)

P3-002: Implementar Validación Runtime (Zod)

  • Esfuerzo: 3-5 días
  • Descripción: Validación de schemas en tiempo de ejecución

P3-003: Shared Types Package

  • Esfuerzo: 1-2 semanas
  • Descripción: Paquete compartido packages/shared-types/

Métricas Objetivo

Post P0+P1 (Sprint 3)

Database → Backend:     100%  (+5.5%)
Backend → Frontend:     75%   (+47%)
Type Safety E2E:        88%   (+26%)
API Coverage (DB):      60%   (+18%)

Post P2 (Sprint 6)

Database → Backend:     100%
Backend → Frontend:     92%
Type Safety E2E:        95%
API Coverage (DB):      75%

Roadmap Sugerido

Sprint Inmediato (Semana 1-2)

  • P0-001: Sync enum difficulty_level
  • P0-002: Sync enum exercise_type
  • P0-003: Fix orden de rutas
  • P0-004: Habilitar guards
  • P1-001: Crear UserStats interface
  • P1-002: Completar Module interface

Sprint 2-3 (Semanas 3-6)

  • P1-003: Admin types
  • P1-004: ExerciseType frontend
  • P1-005: Token refresh
  • P1-006 a P1-008: Interfaces restantes

Sprint 4-5 (Semanas 7-10)

  • P1-009: Audit Logging Module
  • P2-001: System Configuration Module

Sprint 6+ (Semanas 11+)

  • P2-002 a P2-015: Issues medios restantes
  • P3: Backlog de mejoras

Referencias

  • Reporte Original: .claude/orchestration/05-validaciones/documentacion/reportes/REPORTE-FINAL-VALIDACION-INTEGRAL-2025-11-04.md
  • Plan Audit Logging: AUDIT_LOGGING_*.md (15-43 KB)
  • Plan System Config: IMPLEMENTATION_PLAN_system_configuration.json (44 KB)
  • Reportes de Agentes: 17 archivos en workspace

Documentado por: Documentation-Architect (Fase C1) Fecha: 2026-01-10 Próximo paso: Entregar a equipo de desarrollo para priorización