consolidado_gaps: version: 1.0.0 fecha: "2026-02-04" fuentes: - TASK-2026-02-03-ANALISIS-DDL-MODELADO - TASK-2026-02-03-ANALISIS-FRONTEND-UXUI - GAPS-TRACKING.yml - CROSS-VALIDATION-GAPS.yml resumen: total_gaps: 24 p0_bloqueantes: 3 p1_criticos: 6 p2_importantes: 10 p3_menores: 5 story_points_total: 558 horas_estimadas: 430 gaps_p0_bloqueantes: - id: GAP-P0-001 nombre: Password Recovery sin UI modulo: OQI-001 Auth capa: Frontend descripcion: "Backend tiene email.service.ts pero no hay endpoints de reset. Frontend falta PasswordRecovery.tsx y PasswordReset.tsx" esfuerzo_horas: 8 story_points: 8 dependencias: [] bloquea: ["User self-service"] estado: PENDIENTE asignado_a: SUBTASK-002-OQI-001-AUTH - id: GAP-P0-002 nombre: User Profile Management sin servicio modulo: OQI-001 Auth capa: Backend descripcion: "No existe userService.ts backend. users.controller.ts falta. Frontend sin ProfileSettings component." esfuerzo_horas: 6 story_points: 5 dependencias: [] bloquea: ["User cannot update personal data"] estado: PENDIENTE asignado_a: ST-2.3 - id: GAP-P0-003 nombre: Trading Agents sin UI modulo: OQI-003 Trading capa: Full Stack descripcion: "Backend bots.service.ts 60% completo. Frontend 0%: BotManager.tsx, BotCard, BotConfigWizard, BotMonitoringDashboard todos faltantes." esfuerzo_horas: 40 story_points: 40 dependencias: - ST-3.4 bloquea: ["Feature vendida no disponible"] estado: PENDIENTE asignado_a: SUBTASK-003-OQI-003-TRADING gaps_p1_criticos: - id: GAP-P1-001 nombre: Market Data OHLCV Service modulo: OQI-003 Trading capa: Backend descripcion: "DDL market_data.ohlcv_5m/15m existe. NO hay marketData.service.ts ni market-data.controller.ts. Charts bloqueados." esfuerzo_horas: 16 story_points: 16 dependencias: [] bloquea: - CHAIN-001 - FE Charts históricos - ML Overlays estado: PENDIENTE asignado_a: ST-2.1 critico: true - id: GAP-P1-002 nombre: Notifications sin API Completa modulo: Core capa: Backend descripcion: "DDL OK. Backend falta notification.service.ts completo, push.service.ts, notification.controller.ts" esfuerzo_horas: 20 story_points: 18 dependencias: [] bloquea: - CHAIN-002 - Push notifications - Trading alerts estado: PENDIENTE asignado_a: ST-2.2 - id: GAP-P1-003 nombre: ML Chart Overlays sin UI modulo: OQI-006 ML capa: Frontend descripcion: "Backend ML models existen pero frontend no puede visualizar. Faltan MLPredictionOverlay.tsx, SignalMarkers.tsx, ICTConceptsOverlay.tsx" esfuerzo_horas: 24 story_points: 21 dependencias: - GAP-P1-001 bloquea: ["OQI-006 ↔ OQI-003 integration"] estado: PENDIENTE asignado_a: SUBTASK-004-OQI-006-ML - id: GAP-P1-004 nombre: 2FA sin flujo completo modulo: OQI-001 Auth capa: Full Stack descripcion: "Backend twofa.service.ts existe pero faltan setup/verify endpoints. Frontend falta TwoFactorSetup.tsx, TwoFactorVerifyModal.tsx, BackupCodesDisplay.tsx" esfuerzo_horas: 16 story_points: 13 dependencias: [] bloquea: ["Enhanced security"] estado: PENDIENTE asignado_a: ST-2.5 - id: GAP-P1-005 nombre: education.instructors sin tabla modulo: OQI-002 Education capa: DDL descripcion: "Tabla para perfiles de instructores no existe. instructor.service.ts ya creado pero sin tabla." esfuerzo_horas: 4 story_points: 3 dependencias: [] bloquea: ["instructor.service.ts"] estado: PENDIENTE asignado_a: ST-1.1 - id: GAP-P1-006 nombre: course_tags sin campo modulo: OQI-002 Education capa: DDL descripcion: "Campo para filtrado de cursos por tags faltante. tag.service.ts existe." esfuerzo_horas: 2 story_points: 2 dependencias: [] bloquea: ["Course filtering"] estado: PENDIENTE asignado_a: ST-1.2 gaps_p2_importantes: - id: GAP-P2-001 nombre: Audit System Service modulo: Core capa: Backend esfuerzo_horas: 32 story_points: 28 estado: PENDIENTE asignado_a: ST-2.4 - id: GAP-P2-002 nombre: Currency Exchange Service modulo: OQI-005 Payments capa: Backend esfuerzo_horas: 16 story_points: 13 estado: PENDIENTE - id: GAP-P2-003 nombre: Risk Assessment Service modulo: OQI-004 Investment capa: Backend esfuerzo_horas: 12 story_points: 10 estado: PENDIENTE - id: GAP-P2-004 nombre: Course Reviews Endpoints modulo: OQI-002 Education capa: Backend esfuerzo_horas: 6 story_points: 5 estado: PENDIENTE - id: GAP-P2-005 nombre: OAuth Flows Incomplete modulo: OQI-001 Auth capa: Backend esfuerzo_horas: 12 story_points: 10 estado: PENDIENTE cadenas_bloqueo: CHAIN-001: nombre: Market Data Pipeline estado: BLOQUEADO_COMPLETO secuencia: - paso: DDL market_data estado: OK - paso: Backend Service estado: MISSING gap: GAP-P1-001 - paso: API REST estado: MISSING depende_de: Backend Service - paso: Frontend Charts estado: BLOCKED depende_de: API REST - paso: ML Overlays estado: BLOCKED depende_de: Frontend Charts CHAIN-002: nombre: Notifications Pipeline estado: BLOQUEADO secuencia: - paso: DDL auth.notifications estado: OK - paso: Backend Service estado: PARTIAL gap: GAP-P1-002 - paso: API REST estado: MISSING - paso: Frontend Consumer estado: PARTIAL CHAIN-003: nombre: Trading Agents E2E estado: BLOQUEADO secuencia: - paso: DDL trading.bots estado: OK - paso: Backend Service estado: PARTIAL_60% - paso: API Endpoints estado: PARTIAL_40% gap: ST-3.4 - paso: Frontend UI estado: MISSING_0% gap: GAP-P0-003 arquitectura: inconsistencias: - id: ARCH-001 nombre: Direct Access to Python Services riesgo: ALTO descripcion: "Frontend bypasses Express.js para acceder a ML Engine y LLM Agent directamente" servicios_afectados: - mlService.ts - llmAgentService.ts - backtestService.ts solucion: Crear proxy endpoints en Express esfuerzo_horas: 16 asignado_a: ST-5.1 - id: ARCH-002 nombre: Inconsistent apiClient Usage riesgo: MEDIO descripcion: "5 servicios no usan apiClient centralizado" servicios_afectados: - portfolio.service.ts - adminService.ts - mlService.ts - llmAgentService.ts - backtestService.ts solucion: Refactorizar para usar apiClient esfuerzo_horas: 8 asignado_a: ST-5.2 documentacion_obsoleta: a_purgar: - archivo: orchestration/tareas/TASK-2026-02-03-DDL-VALIDATION/ razon: Supersedida por ANALISIS-DDL-MODELADO accion: MOVER_A_ARCHIVE - archivo: docs/90-transversal/gaps/ANALISIS-GAPS-DOCUMENTACION.md razon: Marcado OUTDATED, rutas rotas accion: ELIMINAR a_actualizar: - archivo: BACKEND_INVENTORY.yml gap: Conteo 57→79 endpoints - archivo: FRONTEND_INVENTORY.yml gap: Conteo 90→146 componentes - archivo: PROJECT-STATUS.md gap: Fecha 2026-01-30 metricas_objetivo: coherencia_global: actual: 81.25% objetivo: 95% ddl_backend: actual: 85% objetivo: 98% backend_frontend: actual: 77.5% objetivo: 92% test_coverage: actual: 15% objetivo: 40%