# ROADMAP-2026-Q1.yml - Trading Platform
# Hoja de ruta ejecutable Q1-Q2 2026
# Sistema: SIMCO v4.0.0
# Fecha: 2026-01-27
# Owner: Claude Opus 4.5

metadata:
  proyecto: trading-platform
  periodo: Q1-Q2 2026
  version: 1.0.0
  fecha_inicio: 2026-01-28
  fecha_fin_estimada: 2026-03-31
  duracion_total_semanas: 13
  esfuerzo_total_horas: 208
  estado: PLANIFICADO
  sistema: SIMCO v4.0.0
  basado_en:
    - orchestration/analisis/integracion/EXECUTION-ORDER.yml
    - orchestration/analisis/integracion/CHECKPOINTS.yml
    - orchestration/analisis/coherencia/COHERENCE-MASTER-REPORT.md

# ==============================================================================
# RESUMEN EJECUTIVO
# ==============================================================================

resumen_ejecutivo:
  descripcion: "Hoja de ruta para resolver gaps de funcionalidad crítica y llevar trading-platform a coherencia global 98%"

  objetivos_principales:
    - "Resolver 12 gaps funcionales (P0+P1+P2)"
    - "Aumentar coherencia global de 81.25% a 98%"
    - "Consolidar arquitectura para producción"
    - "Alcanzar 80% code coverage"

  hitos_mayores:
    - "2026-02-03: CP-01 Gaps P0 resueltos"
    - "2026-02-10: CP-02 Coherencia DDL-Backend 95%"
    - "2026-02-17: CP-03 Coherencia Backend-Frontend 90%"
    - "2026-02-24: CP-04 Consolidación arquitectural"
    - "2026-03-03: CP-05 Testing y calidad"

  métricas_baseline:
    coherencia_global: "81.25%"
    gaps_totales: 12
    gaps_p0: 3
    gaps_p1: 4
    gaps_p2: 5
    code_coverage: "15%"
    servicios_apiclient: "64%"

# ==============================================================================
# MILESTONES PRINCIPALES
# ==============================================================================

milestones:

  # -----
  # M1: Gaps P0 Resueltos - Bloqueantes
  # -----
  - milestone: M1
    nombre: "Gaps P0 - Bloqueantes Resueltos"
    fecha_target: 2026-02-03
    duracion_semanas: 1.5
    checkpoint: CP-01
    prioridad: CRITICA
    dependencias: []
    esfuerzo_horas: 54

    tareas:
      - id: GAP-P0-001
        nombre: "Password Recovery UI"
        descripcion: "Implementar interfaz de recuperación de contraseña"
        capa: Frontend
        modulo: OQI-001-Auth
        esfuerzo: 8h
        paralelo_con: [GAP-P0-002]
        entregables:
          - components/auth/PasswordRecovery.tsx
          - components/auth/ResetPassword.tsx
          - Integración con /auth/forgot-password endpoint

      - id: GAP-P0-002
        nombre: "User Profile Service + Endpoints"
        descripcion: "Crear userService.ts backend y endpoints CRUD"
        capa: Backend
        modulo: OQI-001-Auth
        esfuerzo: 6h
        paralelo_con: [GAP-P0-001]
        entregables:
          - apps/backend/src/services/userService.ts
          - GET/PUT /api/users/profile
          - GET /api/users/:id/profile

      - id: GAP-P0-003-FASE1
        nombre: "Trading Agents UI - Fase 1"
        descripcion: "Componentes base (lista + detalle) para bots Atlas/Orion/Nova"
        capa: Frontend
        modulo: OQI-003-Trading
        esfuerzo: 20h
        entregables:
          - components/trading/agents/AgentsList.tsx
          - components/trading/agents/AgentDetail.tsx
          - stores/agentsStore.ts (zustand)

    criterio_exito: "0 gaps P0 abiertos, Password Recovery funcional, User Profile servicio operativo, Trading Agents UI 50% completo"
    criterios_detallados:
      - "Password recovery E2E funcional (email -> reset -> login)"
      - "GET/PUT /api/users/profile respondiendo correctamente"
      - "AgentsList y AgentDetail componentes renderizando"
      - "Build exitoso backend + frontend"
      - "Tests unitarios pasan"

    riesgos:
      - risk: "GAP-P0-003 muy grande (40h total) - puede bloquear milestone"
        probabilidad: Media
        impacto: Alto
        mitigacion: "Dividir en 2 fases, fase 1 solo 20h para M1"

  # -----
  # M2: Gaps P1 Resueltos - Críticos
  # -----
  - milestone: M2
    nombre: "Gaps P1 - Funcionalidad Crítica Completada"
    fecha_target: 2026-02-10
    duracion_semanas: 1
    checkpoint: CP-02
    prioridad: ALTA
    dependencias: [M1]
    esfuerzo_horas: 76

    tareas:
      - id: GAP-P0-003-FASE2
        nombre: "Trading Agents UI - Fase 2"
        descripcion: "Completar UI con config + monitoreo en tiempo real"
        capa: Frontend
        modulo: OQI-003-Trading
        esfuerzo: 20h
        dependencias: [GAP-P0-003-FASE1]
        entregables:
          - components/trading/agents/AgentConfig.tsx
          - components/trading/agents/AgentMonitor.tsx
          - Real-time updates via WebSocket

      - id: GAP-P1-001
        nombre: "Market Data OHLCV Service"
        descripcion: "Servicio backend para consultar datos históricos"
        capa: Backend
        modulo: OQI-003-Trading
        esfuerzo: 16h
        paralelo_con: [GAP-P1-002, GAP-P1-004]
        entregables:
          - apps/backend/src/services/marketDataService.ts
          - GET /api/market-data/ohlcv/:symbol
          - Queries optimizadas con índices

      - id: GAP-P1-002
        nombre: "Notifications API Completa"
        descripcion: "Endpoints de notificaciones (mark read, delete, preferences)"
        capa: Backend
        modulo: OQI-001-Auth
        esfuerzo: 20h
        paralelo_con: [GAP-P1-001, GAP-P1-004]
        entregables:
          - POST /api/notifications/mark-read
          - DELETE /api/notifications/:id
          - GET/PUT /api/notifications/preferences

      - id: GAP-P1-003
        nombre: "ML Chart Overlays UI"
        descripcion: "Conectar overlays de predicciones ML en charts"
        capa: Frontend
        modulo: OQI-006-ML
        esfuerzo: 24h
        dependencias: [GAP-P1-001]
        entregables:
          - components/charts/MLOverlay.tsx
          - Integración con mlService.ts
          - Visualización de signals en lightweight-charts

      - id: GAP-P1-004
        nombre: "2FA Flow Completo"
        descripcion: "Autenticación de dos factores (setup + verify)"
        capa: Fullstack
        modulo: OQI-001-Auth
        esfuerzo: 16h
        paralelo_con: [GAP-P1-001, GAP-P1-002]
        entregables:
          - POST /api/auth/2fa/setup
          - POST /api/auth/2fa/verify
          - components/auth/TwoFactorSetup.tsx
          - QR code generation + TOTP validation

    criterio_exito: "Coherencia DDL-Backend >= 95%, Market Data service funcional, Notifications API completa, 2FA operativo"
    criterios_detallados:
      - "76 de 89 tablas con servicio backend (85% -> 95%)"
      - "GET /api/market-data/ohlcv/:symbol responde en < 100ms"
      - "Notificaciones push + email funcionando"
      - "2FA setup + verification E2E exitoso"
      - "ML overlays visibles en charts"

    riesgos:
      - risk: "GAP-P1-003 depende de GAP-P1-001"
        probabilidad: Baja
        impacto: Medio
        mitigacion: "Ejecutar GAP-P1-001 al inicio del milestone"

  # -----
  # M3: Gaps P2 Resueltos - Mejoras
  # -----
  - milestone: M3
    nombre: "Gaps P2 - Experiencia de Usuario Mejorada"
    fecha_target: 2026-02-17
    duracion_semanas: 1
    checkpoint: CP-03
    prioridad: MEDIA
    dependencias: [M2]
    esfuerzo_horas: 78

    tareas:
      - id: GAP-P2-001
        nombre: "Audit System Services"
        descripcion: "Servicios backend para consultar logs de auditoría"
        capa: Backend
        modulo: Audit
        esfuerzo: 32h
        paralelo_con: [GAP-P2-002, GAP-P2-003]
        entregables:
          - apps/backend/src/services/auditService.ts
          - GET /api/audit/logs (paginado + filtros)
          - GET /api/audit/user/:userId
          - GET /api/audit/entity/:entityType/:entityId

      - id: GAP-P2-002
        nombre: "Currency Exchange Service"
        descripcion: "Servicio de conversión de monedas"
        capa: Backend
        modulo: Financial
        esfuerzo: 16h
        paralelo_con: [GAP-P2-001, GAP-P2-003]
        entregables:
          - apps/backend/src/services/currencyService.ts
          - GET /api/currency/rates
          - POST /api/currency/convert
          - Integración con exchangerate-api

      - id: GAP-P2-003
        nombre: "Risk Assessment Service"
        descripcion: "Conectar cuestionario de evaluación de riesgo"
        capa: Backend
        modulo: OQI-004-Investment
        esfuerzo: 12h
        paralelo_con: [GAP-P2-001, GAP-P2-002]
        entregables:
          - apps/backend/src/services/riskService.ts
          - GET /api/risk/questionnaire
          - POST /api/risk/assessment (calcular score)
          - PUT /api/users/:id/risk-profile

      - id: GAP-P2-004
        nombre: "Course Reviews Endpoints"
        descripcion: "Endpoints para gestionar reviews de cursos"
        capa: Backend
        modulo: OQI-002-Education
        esfuerzo: 6h
        paralelo_con: [GAP-P2-005]
        entregables:
          - POST /api/education/courses/:id/reviews
          - GET /api/education/courses/:id/reviews
          - PUT /api/education/reviews/:id

      - id: GAP-P2-005
        nombre: "OAuth Flows Completos"
        descripcion: "Flujos OAuth para Google/Facebook/Apple"
        capa: Frontend
        modulo: OQI-001-Auth
        esfuerzo: 12h
        paralelo_con: [GAP-P2-004]
        entregables:
          - components/auth/OAuthButtons.tsx
          - Callback handlers para cada provider
          - Error handling + fallback flows

    criterio_exito: "Coherencia Backend-Frontend >= 90%, Audit operativo, Multi-moneda funcional, OAuth completo"
    criterios_detallados:
      - "145 de 187 endpoints consumidos (77.5% -> 90%)"
      - "Audit logs queryables y filtrable"
      - "Conversión de monedas funcionando"
      - "Risk assessment score calculándose"
      - "Reviews de cursos visibles"
      - "OAuth login funcionando para 3 providers"

  # -----
  # M4: Consolidación Arquitectural
  # -----
  - milestone: M4
    nombre: "Consolidación Arquitectural"
    fecha_target: 2026-02-24
    duracion_semanas: 1
    checkpoint: CP-04
    prioridad: ALTA
    dependencias: [M3]
    esfuerzo_horas: 40

    tareas:
      - id: ARCH-001
        nombre: "Centralizar Acceso Python via Express"
        descripcion: "Migrar acceso directo Python para pasar por Express Gateway"
        capa: Backend
        modulo: Architecture
        esfuerzo: 16h
        entregables:
          - apps/backend/src/routes/ml.routes.ts (proxy a 3083)
          - apps/backend/src/routes/llm.routes.ts (proxy a 3085)
          - Middleware: auth, rate limiting, logging
          - Actualizar mlService.ts, llmAgentService.ts, backtestService.ts

      - id: ARCH-002
        nombre: "Migrar Services a apiClient Centralizado"
        descripcion: "Migrar 5 services sin apiClient para auto-refresh y retry"
        capa: Frontend
        modulo: Architecture
        esfuerzo: 16h
        dependencias: [ARCH-001]
        entregables:
          - Refactor portfolio.service.ts
          - Refactor adminService.ts
          - Refactor mlService.ts
          - Refactor llmAgentService.ts
          - Refactor backtestService.ts

      - id: TEST-001
        nombre: "Tests de Integración E2E"
        descripcion: "Suite de tests para validar flujos críticos"
        capa: Testing
        modulo: QA
        esfuerzo: 8h
        dependencias: [ARCH-001, ARCH-002]
        entregables:
          - tests/e2e/auth-flow.spec.ts
          - tests/e2e/trading-flow.spec.ts
          - tests/e2e/investment-flow.spec.ts

    criterio_exito: "100% acceso Python centralizado, 100% servicios usando apiClient, Arquitectura consolidada"
    criterios_detallados:
      - "mlService, llmAgentService, backtestService usando gateway"
      - "100% servicios (14/14) usando apiClient"
      - "Middleware de auth y rate limiting en gateway"
      - "3 flujos E2E pasando"

  # -----
  # M5: Testing y Calidad
  # -----
  - milestone: M5
    nombre: "Testing y Calidad"
    fecha_target: 2026-03-03
    duracion_semanas: 1
    checkpoint: CP-05
    prioridad: ALTA
    dependencias: [M4]
    esfuerzo_horas: 40

    tareas:
      - id: QA-001
        nombre: "Implementar E2E Tests Críticos"
        descripcion: "Suite de 10+ E2E tests para flujos críticos"
        capa: Testing
        modulo: QA
        esfuerzo: 24h
        entregables:
          - Login flow E2E (email + password + 2FA)
          - Password recovery E2E
          - Trading order placement
          - Payment flow Stripe
          - ML signal generation
          - LLM chat interaction
          - Portfolio creation
          - Investment account wizard
          - Course enrollment + video
          - Notification delivery

      - id: QA-002
        nombre: "Aumentar Code Coverage a 80%"
        descripcion: "Implementar unit tests para alcanzar 80% coverage"
        capa: Testing
        modulo: QA
        esfuerzo: 16h
        entregables:
          - Auth service unit tests (90% coverage)
          - Trading service unit tests (85% coverage)
          - Payment service unit tests (80% coverage)
          - General coverage aumento 15% -> 80%

    criterio_exito: "Code coverage >= 80%, 10+ E2E tests pasando, 0 lint errors, 0 type errors"
    criterios_detallados:
      - "Code coverage aumenta de 15% a 80%"
      - "10 E2E tests críticos implementados y pasando"
      - "npm run lint = 0 errores"
      - "npm run typecheck = 0 errores"
      - "Tests pasan en CI/CD"

# ==============================================================================
# LÍNEA TEMPORAL SEMANAL
# ==============================================================================

semanas:

  W05:
    semana: 5
    fechas: "2026-01-27 - 2026-02-02"
    enfoque: "P0 - Password Recovery + User Profile (Paralelo)"
    horas_estimadas: 28
    checkpoint: null

    tareas:
      - tarea: GAP-P0-001
        descripcion: "Password Recovery UI"
        horas: 8
        equipo: [frontend_dev_1]
        estado: pending

      - tarea: GAP-P0-002
        descripcion: "User Profile Service + Endpoints"
        horas: 6
        equipo: [backend_dev_1]
        estado: pending

      - tarea: "Configurar ambiente de desarrollo"
        horas: 4
        equipo: [devops]
        estado: pending

      - tarea: "Documentar GAP-P0-001 y GAP-P0-002"
        horas: 10
        equipo: [technical_writer]
        estado: pending

    deliverables:
      - "PasswordRecovery.tsx completado"
      - "ResetPassword.tsx completado"
      - "userService.ts completado"
      - "/api/users/profile endpoints funcionales"

    validaciones:
      - "Frontend builds sin errores"
      - "Backend builds sin errores"
      - "Tests unitarios pasan"

  W06:
    semana: 6
    fechas: "2026-02-03 - 2026-02-09"
    enfoque: "P0-Fase1 Trading Agents + CP-01 Validación"
    horas_estimadas: 26
    checkpoint: CP-01

    tareas:
      - tarea: GAP-P0-003-FASE1
        descripcion: "Trading Agents UI - Lista + Detalle"
        horas: 20
        equipo: [frontend_dev_2]
        estado: pending

      - tarea: "Validar CP-01 (Password Recovery, User Profile, Trading Agents 50%)"
        horas: 6
        equipo: [qa_engineer]
        estado: pending

    deliverables:
      - "AgentsList.tsx completado"
      - "AgentDetail.tsx completado"
      - "agentsStore.ts completado"
      - "CP-01 PASSED o FAILED"

    validaciones:
      - "E2E Password Recovery funciona"
      - "E2E User Profile funciona"
      - "E2E Trading Agents 50% visible"
      - "Build exitoso"

    riesgos:
      - "Si CP-01 FALLA: Re-priorizar y extender W06"

  W07:
    semana: 7
    fechas: "2026-02-10 - 2026-02-16"
    enfoque: "P1 Críticos (4 tareas en paralelo)"
    horas_estimadas: 76
    checkpoint: null

    tareas_paralelo:
      grupo_1:
        tareas:
          - tarea: GAP-P1-001
            descripcion: "Market Data OHLCV Service"
            horas: 16
            equipo: [backend_dev_2]
            prioridad: 1

          - tarea: GAP-P1-002
            descripcion: "Notifications API Completa"
            horas: 20
            equipo: [backend_dev_1]
            prioridad: 1

          - tarea: GAP-P1-004
            descripcion: "2FA Flow Completo"
            horas: 16
            equipo: [backend_dev_3]
            prioridad: 1

      grupo_2:
        tareas:
          - tarea: GAP-P0-003-FASE2
            descripcion: "Trading Agents UI - Config + Monitor"
            horas: 20
            equipo: [frontend_dev_1]
            prioridad: 2
            dependencias: [GAP-P0-003-FASE1]

    deliverables:
      - "marketDataService.ts completado"
      - "Market Data endpoints funcionales"
      - "Notifications endpoints completados"
      - "2FA setup + verify operativo"
      - "AgentConfig.tsx + AgentMonitor.tsx completados"

    validaciones:
      - "Market Data queries < 100ms"
      - "Notifications push + email funciona"
      - "2FA E2E completo"
      - "Trading Agents UI 100% completado"

  W08:
    semana: 8
    fechas: "2026-02-17 - 2026-02-23"
    enfoque: "P1 Frontend (ML Overlays) + CP-02 Validación"
    horas_estimadas: 30
    checkpoint: CP-02

    tareas:
      - tarea: GAP-P1-003
        descripcion: "ML Chart Overlays UI"
        horas: 24
        equipo: [frontend_dev_2]
        dependencias: [GAP-P1-001]
        estado: pending

      - tarea: "Validar CP-02 (Coherencia DDL-Backend >= 95%)"
        horas: 6
        equipo: [qa_engineer]
        estado: pending

    deliverables:
      - "MLOverlay.tsx completado"
      - "ML signals visibles en charts"
      - "CP-02 PASSED o FAILED"

    validaciones:
      - "Market Data service < 100ms"
      - "Notifications completo"
      - "2FA operativo"
      - "76 de 89 tablas con servicio (85% coverage)"

    riesgos:
      - "Si CP-02 FALLA: Extender W08 para servicios faltantes"

  W09:
    semana: 9
    fechas: "2026-02-24 - 2026-03-02"
    enfoque: "P2 Importantes (5 tareas en paralelo)"
    horas_estimadas: 78
    checkpoint: null

    tareas_paralelo:
      grupo_1:
        tareas:
          - tarea: GAP-P2-001
            descripcion: "Audit System Services"
            horas: 32
            equipo: [backend_dev_1]
            prioridad: 1

          - tarea: GAP-P2-002
            descripcion: "Currency Exchange Service"
            horas: 16
            equipo: [backend_dev_2]
            prioridad: 1

          - tarea: GAP-P2-003
            descripcion: "Risk Assessment Service"
            horas: 12
            equipo: [backend_dev_3]
            prioridad: 1

      grupo_2:
        tareas:
          - tarea: GAP-P2-004
            descripcion: "Course Reviews Endpoints"
            horas: 6
            equipo: [backend_dev_1]
            prioridad: 2

          - tarea: GAP-P2-005
            descripcion: "OAuth Flows Completos"
            horas: 12
            equipo: [frontend_dev_1]
            prioridad: 2

    deliverables:
      - "auditService.ts completado"
      - "Audit endpoints funcionales"
      - "currencyService.ts completado"
      - "Currency endpoints funcionales"
      - "riskService.ts completado"
      - "Risk assessment operativo"
      - "Course Reviews endpoints"
      - "OAuth para Google/Facebook/Apple"

    validaciones:
      - "Audit logs queryables"
      - "Currency conversion funciona"
      - "Risk assessment score calculándose"
      - "OAuth login para 3 providers"

  W10:
    semana: 10
    fechas: "2026-03-03 - 2026-03-09"
    enfoque: "P2 Finalización + CP-03 Validación"
    horas_estimadas: 12
    checkpoint: CP-03

    tareas:
      - tarea: "Completar tareas P2 pendientes"
        horas: 6
        equipo: [backend_dev, frontend_dev]
        estado: pending

      - tarea: "Validar CP-03 (Coherencia Backend-Frontend >= 90%)"
        horas: 6
        equipo: [qa_engineer]
        estado: pending

    deliverables:
      - "CP-03 PASSED o FAILED"

    validaciones:
      - "145 de 187 endpoints consumidos (90% coverage)"
      - "ML Chart Overlays funcionales"
      - "2FA operativo"
      - "Audit sistema operativo"

    riesgos:
      - "Si CP-03 FALLA: Identificar endpoints no consumidos"

  W11:
    semana: 11
    fechas: "2026-03-10 - 2026-03-16"
    enfoque: "Consolidación Arquitectural - Fase 1 (ARCH-001)"
    horas_estimadas: 16
    checkpoint: null

    tareas:
      - tarea: ARCH-001
        descripcion: "Centralizar Acceso Python via Express"
        horas: 16
        equipo: [backend_dev_1, backend_dev_2]
        estado: pending

    deliverables:
      - "ml.routes.ts completado"
      - "llm.routes.ts completado"
      - "Gateway middleware (auth, rate limiting)"
      - "mlService.ts refactorizado"
      - "llmAgentService.ts refactorizado"
      - "backtestService.ts refactorizado"

    validaciones:
      - "Acceso Python via Express funciona"
      - "Middleware auth validando"
      - "Rate limiting activo"

  W12:
    semana: 12
    fechas: "2026-03-17 - 2026-03-23"
    enfoque: "Consolidación Arquitectural - Fase 2 (ARCH-002) + CP-04"
    horas_estimadas: 24
    checkpoint: CP-04

    tareas:
      - tarea: ARCH-002
        descripcion: "Migrar Services a apiClient Centralizado"
        horas: 16
        equipo: [frontend_dev_1, frontend_dev_2]
        dependencias: [ARCH-001]
        estado: pending

      - tarea: TEST-001
        descripcion: "Tests de Integración E2E"
        horas: 8
        equipo: [qa_engineer]
        dependencias: [ARCH-001, ARCH-002]
        estado: pending

    deliverables:
      - "5 services refactorizados a apiClient"
      - "portfolio.service.ts migrado"
      - "adminService.ts migrado"
      - "mlService.ts migrado"
      - "llmAgentService.ts migrado"
      - "backtestService.ts migrado"
      - "3 E2E tests implementados"
      - "CP-04 PASSED o FAILED"

    validaciones:
      - "100% servicios usando apiClient"
      - "Auto-refresh tokens funcionando"
      - "Retry logic consistente"
      - "3 flujos E2E pasando"

  W13:
    semana: 13
    fechas: "2026-03-24 - 2026-03-30"
    enfoque: "Testing y Calidad - E2E Tests + Code Coverage"
    horas_estimadas: 40
    checkpoint: CP-05

    tareas:
      - tarea: QA-001
        descripcion: "Implementar 10+ E2E Tests Críticos"
        horas: 24
        equipo: [qa_engineer, frontend_dev_1]
        estado: pending

      - tarea: QA-002
        descripcion: "Aumentar Code Coverage a 80%"
        horas: 16
        equipo: [backend_dev_1, backend_dev_2, frontend_dev_2]
        estado: pending

    deliverables:
      - "10+ E2E tests implementados y pasando"
      - "Code coverage 15% -> 80%"
      - "Unit tests para auth, trading, payment"
      - "0 lint errors"
      - "0 type errors"
      - "CP-05 PASSED"

    validaciones:
      - "npm run test:e2e = 10+ tests passing"
      - "npm run coverage >= 80%"
      - "npm run lint = 0 errors"
      - "npm run typecheck = 0 errors"

# ==============================================================================
# ASIGNACIÓN DE RECURSOS SUGERIDA
# ==============================================================================

recursos_asignados:

  backend_dev_1:
    rol: "Backend Developer"
    skills: ["TypeScript", "Express.js", "PostgreSQL"]
    semanas_asignadas: [W05, W06, W07, W08, W09, W10, W11, W12, W13]
    carga_promedio: 8h/semana
    tareas_principales:
      - GAP-P0-002 (User Profile)
      - GAP-P1-002 (Notifications)
      - GAP-P2-001 (Audit System)
      - ARCH-001 (Python Gateway)
      - QA-002 (Code Coverage)

  backend_dev_2:
    rol: "Backend Developer"
    skills: ["TypeScript", "Express.js", "Python Integration"]
    semanas_asignadas: [W07, W08, W09, W10, W11, W12, W13]
    carga_promedio: 8h/semana
    tareas_principales:
      - GAP-P1-001 (Market Data)
      - GAP-P2-002 (Currency Exchange)
      - ARCH-001 (Python Gateway)
      - QA-002 (Code Coverage)

  backend_dev_3:
    rol: "Backend Developer"
    skills: ["TypeScript", "Express.js", "Security"]
    semanas_asignadas: [W07, W08, W09]
    carga_promedio: 8h/semana
    tareas_principales:
      - GAP-P1-004 (2FA)
      - GAP-P2-003 (Risk Assessment)

  frontend_dev_1:
    rol: "Frontend Developer"
    skills: ["React", "TypeScript", "Zustand", "Testing"]
    semanas_asignadas: [W05, W06, W07, W08, W09, W10, W12, W13]
    carga_promedio: 8h/semana
    tareas_principales:
      - GAP-P0-001 (Password Recovery)
      - GAP-P0-003-FASE2 (Trading Agents Config)
      - GAP-P2-005 (OAuth)
      - ARCH-002 (apiClient Migration)
      - QA-001 (E2E Tests)

  frontend_dev_2:
    rol: "Frontend Developer"
    skills: ["React", "TypeScript", "Charts.js"]
    semanas_asignadas: [W06, W07, W08, W09, W12, W13]
    carga_promedio: 8h/semana
    tareas_principales:
      - GAP-P0-003-FASE1 (Trading Agents List)
      - GAP-P1-003 (ML Chart Overlays)
      - ARCH-002 (apiClient Migration)
      - QA-002 (Code Coverage)

  qa_engineer:
    rol: "QA Engineer"
    skills: ["E2E Testing", "Playwright", "Performance"]
    semanas_asignadas: [W06, W07, W08, W09, W10, W11, W12, W13]
    carga_promedio: 6h/semana
    tareas_principales:
      - CP-01, CP-02, CP-03, CP-04, CP-05 Validación
      - TEST-001 (E2E Integration Tests)
      - QA-001 (E2E Critical Tests)

  devops:
    rol: "DevOps / Infrastructure"
    skills: ["CI/CD", "PostgreSQL", "Docker"]
    semanas_asignadas: [W05, W06, W11]
    carga_promedio: 4h/semana
    tareas_principales:
      - Configurar ambiente de desarrollo
      - CI/CD setup para tests

  technical_writer:
    rol: "Technical Writer"
    skills: ["API Documentation", "Markdown"]
    semanas_asignadas: [W05, W06, W07, W08, W09, W10]
    carga_promedio: 2h/semana
    tareas_principales:
      - Documentar endpoints en Swagger
      - Actualizar README

  equipo_minimo_requerido:
    - backend_dev: 2 (REQUERIDO)
    - frontend_dev: 2 (REQUERIDO)
    - qa_engineer: 1 (REQUERIDO)

  equipo_optimo_sugerido:
    - backend_dev: 3 (RECOMENDADO para paralelización)
    - frontend_dev: 2 (OK)
    - qa_engineer: 1 (OK)
    - devops: 1 (RECOMENDADO)

# ==============================================================================
# CRITERIOS DE ÉXITO POR MILESTONE
# ==============================================================================

criterios_exito:

  M1_P0_Bloqueantes:
    condiciones_go:
      - "Password Recovery UI completa y E2E funcional"
      - "User Profile service con endpoints GET/PUT operativos"
      - "Trading Agents UI lista + detalle visibles"
      - "Build sin errores"
    metricas:
      - "Coherencia global: 81.25% -> 87%"
      - "Gaps P0: 3 -> 0"
      - "Endpoints consumidos: 145/187"
    fecha_target: 2026-02-03
    bloquea_siguiente: true
    estado: pending

  M2_P1_Criticos:
    condiciones_go:
      - "Market Data service < 100ms"
      - "Notifications API completa"
      - "2FA setup + verify E2E"
      - "ML Chart Overlays visibles"
      - "DDL-Backend coherence >= 95%"
    metricas:
      - "Coherencia global: 87% -> 92%"
      - "Gaps P0: 0"
      - "Gaps P1: 4 -> 0"
      - "DDL-Backend: 85% -> 95%"
    fecha_target: 2026-02-10
    bloquea_siguiente: true
    estado: pending

  M3_P2_Mejoras:
    condiciones_go:
      - "Audit system operativo"
      - "Currency exchange funcional"
      - "Risk assessment calculándose"
      - "Course reviews visibles"
      - "OAuth para 3 providers"
      - "Backend-Frontend coherence >= 90%"
    metricas:
      - "Coherencia global: 92% -> 97%"
      - "Gaps P0: 0"
      - "Gaps P1: 0"
      - "Gaps P2: 5 -> 0"
      - "Backend-Frontend: 77.5% -> 90%"
    fecha_target: 2026-02-17
    bloquea_siguiente: true
    estado: pending

  M4_Arquitectura:
    condiciones_go:
      - "Acceso Python 100% via Express"
      - "100% servicios usando apiClient"
      - "Middleware auth + rate limiting"
      - "3 flujos E2E pasando"
    metricas:
      - "Coherencia global: 97% -> 97.5%"
      - "Servicios apiClient: 64% -> 100%"
      - "Python direct access: 3 -> 0"
    fecha_target: 2026-02-24
    bloquea_siguiente: true
    estado: pending

  M5_Testing_Calidad:
    condiciones_go:
      - "10+ E2E tests pasando"
      - "Code coverage >= 80%"
      - "0 lint errors"
      - "0 type errors"
    metricas:
      - "Coherencia global: 97.5% -> 98%"
      - "Code coverage: 15% -> 80%"
      - "E2E tests: 5 -> 15+"
    fecha_target: 2026-03-03
    bloquea_siguiente: false
    estado: pending

# ==============================================================================
# RIESGOS Y CONTINGENCIAS
# ==============================================================================

riesgos:

  - id: RISK-001
    descripcion: "GAP-P0-003 muy grande (40h) - riesgo bloqueo"
    probabilidad: Media
    impacto: Alto
    mitigacion: "Dividido en 2 fases (20h cada una), Fase 2 puede ir a Sprint 2"
    plan_contingencia: "Si W06 se atrasa > 2 días, extender hasta W07"
    responsable: project_lead
    fecha_revision: 2026-02-02

  - id: RISK-002
    descripcion: "ARCH-001 puede generar regresiones en frontend"
    probabilidad: Media
    impacto: Medio
    mitigacion: "Ejecutar después de todos los gaps P0/P1/P2, sprint 4 dedicado"
    plan_contingencia: "Revertir changes y ajustar arquitectura"
    responsable: tech_lead
    fecha_revision: 2026-03-10

  - id: RISK-003
    descripcion: "CP-01/CP-02/CP-03 pueden FALLAR si gaps no se resuelven"
    probabilidad: Baja
    impacto: Alto
    mitigacion: "Validación diaria, CI/CD testing antes de merge"
    plan_contingencia: "Extender semanas correspondientes, re-priorizar equipo"
    responsable: qa_lead
    fecha_revision: weekly

  - id: RISK-004
    descripcion: "Estimación en ARCH-001 podría ser insuficiente"
    probabilidad: Media
    impacto: Medio
    mitigacion: "Buffer de 20% en W11, equipo de 2 personas"
    plan_contingencia: "Extender W12 si es necesario"
    responsable: backend_lead
    fecha_revision: 2026-03-10

  - id: RISK-005
    descripcion: "Code coverage < 70% al final (bloqueante para producción)"
    probabilidad: Baja
    impacto: Crítico
    mitigacion: "Incrementar cobertura progresivamente, QA involucrado temprano"
    plan_contingencia: "Extender W13 hasta 2 semanas adicionales"
    responsable: qa_lead
    fecha_revision: 2026-03-17

  - id: RISK-006
    descripcion: "Equipo incompleto podría atrasar timeline"
    probabilidad: Baja
    impacto: Alto
    mitigacion: "Equipo mínimo (2 BE, 2 FE, 1 QA) comprometido desde inicio"
    plan_contingencia: "Re-priorizar tareas P2, postponer M5"
    responsable: project_lead
    fecha_revision: 2026-01-28

# ==============================================================================
# DEPENDENCIAS CRÍTICAS
# ==============================================================================

dependencias:

  inter_milestone:
    - dependencia: "M1 -> M2"
      razon: "P1 requiere P0 resuelto"
      riesgo: "Si M1 FALLA, M2 bloqueado"

    - dependencia: "M2 -> M3"
      razon: "P2 menos crítico pero depende de P0/P1"
      riesgo: "Si M2 FALLA, M3 puede ejecutarse parcialmente"

    - dependencia: "M3 -> M4"
      razon: "ARCH-001 requiere todas las funcionalidades"
      riesgo: "Si M3 incompleto, ARCH-001 podría ser inestable"

    - dependencia: "M4 -> M5"
      razon: "Testing depende de arquitectura consolidada"
      riesgo: "Si M4 FALLA, E2E tests requieren ajustes"

  intra_milestone:
    - dependencia: "GAP-P0-003-FASE1 -> GAP-P0-003-FASE2"
      razon: "Fase 2 es continuación de Fase 1"
      riesgo: "BLOQUEANTE"

    - dependencia: "GAP-P1-001 -> GAP-P1-003"
      razon: "ML overlays necesita Market Data"
      riesgo: "Si GAP-P1-001 falla, GAP-P1-003 bloqueado"

    - dependencia: "ARCH-001 -> ARCH-002"
      razon: "Services refactor depende de gateway"
      riesgo: "BLOQUEANTE"

    - dependencia: "ARCH-001, ARCH-002 -> TEST-001"
      razon: "E2E tests validan ambas capas"
      riesgo: "BLOQUEANTE"

  externas:
    - dependencia: "PostgreSQL 16+ disponible"
      estado: "CUMPLIDO"

    - dependencia: "Redis 7.x disponible"
      estado: "CUMPLIDO"

    - dependencia: "Python FastAPI services (ML, LLM)"
      estado: "DISPONIBLE"

    - dependencia: "Equipo especializado"
      estado: "REQUERIDO"

# ==============================================================================
# GATES DE CONTROL
# ==============================================================================

gates:

  - gate: G1
    checkpoint: CP-01
    fecha: 2026-02-03
    criterio: "3 gaps P0 resueltos, coherencia 87%"
    go_condition: "Password Recovery + User Profile + Trading Agents 50% FUNCIONAL"
    no_go_condition: "Cualquiera de los 3 no funcional"
    escalacion: "Si NO GO: extender W06, recursos aumentados"
    responsable: qa_lead

  - gate: G2
    checkpoint: CP-02
    fecha: 2026-02-10
    criterio: "4 gaps P1 resueltos, coherencia DDL-Backend 95%"
    go_condition: "Market Data + Notifications + 2FA + ML Overlays FUNCIONAL"
    no_go_condition: "Cualquiera de los 4 no funcional"
    escalacion: "Si NO GO: extender W08, re-asignar recursos"
    responsable: qa_lead

  - gate: G3
    checkpoint: CP-03
    fecha: 2026-02-17
    criterio: "5 gaps P2 resueltos, coherencia Backend-Frontend 90%"
    go_condition: "Audit + Currency + Risk + Reviews + OAuth FUNCIONAL"
    no_go_condition: "Cualquiera de los 5 no funcional"
    escalacion: "Si NO GO: extender W10, identificar endpoints faltantes"
    responsable: qa_lead

  - gate: G4
    checkpoint: CP-04
    fecha: 2026-02-24
    criterio: "Arquitectura consolidada"
    go_condition: "100% Python via Express, 100% apiClient, 3 E2E tests"
    no_go_condition: "Acceso directo Python, servicios sin apiClient"
    escalacion: "Si NO GO: extender W12, refactor por partes"
    responsable: tech_lead

  - gate: G5
    checkpoint: CP-05
    fecha: 2026-03-03
    criterio: "Testing y calidad cumplido"
    go_condition: "10+ E2E tests, Code coverage 80%, 0 lint/type errors"
    no_go_condition: "Coverage < 70%, tests fallando"
    escalacion: "Si NO GO: extender W13 hasta 2 semanas adicionales"
    responsable: qa_lead

# ==============================================================================
# FOLLOW-UP Y MONITOREO
# ==============================================================================

monitoreo:
  frecuencia: "Semanal"
  dia_reunion: "Viernes EOD"
  duracion: "30 minutos"

  metricas_semanales:
    - coherencia_global
    - gaps_abiertos_por_prioridad
    - code_coverage
    - tests_passed_vs_failed
    - checkpoint_status
    - velocidad_equipo
    - burndown

  escalacion_triggers:
    - "Checkpoint target < 2 días y NO GO visible"
    - "Gap nuevo descubierto"
    - "Miembro equipo disponibilidad < 40% semana"
    - "Code coverage disminuye"
    - "Test failures aumentan"

  reportes:
    - tipo: "Executive Summary"
      frecuencia: "Semanal"
      formato: "1 página YAML"

    - tipo: "Technical Deep Dive"
      frecuencia: "Bi-semanal"
      formato: "Markdown detallado"

    - tipo: "Risk Register Update"
      frecuencia: "Semanal"
      formato: "Tabla YAML"

# ==============================================================================
# NOTAS IMPORTANTES
# ==============================================================================

notas:
  - "Este roadmap es DINÁMICO - debe ajustarse según descubrimientos"
  - "Priorizar SIEMPRE gaps P0 antes de avanzar a P1"
  - "Validar build + tests después de CADA tarea completada"
  - "Documentar cambios arquitecturales en ADR"
  - "Mantener COHERENCE-MASTER-REPORT.md actualizado"
  - "Los refactors arquitecturales (M4) NO deben bloquear lanzamiento si P0/P1/P2 resueltos"
  - "Considerar lanzamiento gradual: MVP (P0) -> Feature complete (P1) -> Polish (P2)"
  - "Equipo mínimo es REQUERIDO - negociar recursos antes de inicio"
  - "Si algún checkpoint FALLA: NO avanzar al siguiente hasta resolver"

# ==============================================================================
# REFERENCIAS
# ==============================================================================

referencias:
  - archivo: "orchestration/analisis/integracion/EXECUTION-ORDER.yml"
    descripcion: "Orden de ejecución detallado con grafo de dependencias"

  - archivo: "orchestration/analisis/integracion/CHECKPOINTS.yml"
    descripcion: "Criterios de validación y gates de calidad"

  - archivo: "orchestration/analisis/coherencia/COHERENCE-MASTER-REPORT.md"
    descripcion: "Reporte maestro de coherencia con todos los gaps"

  - archivo: "orchestration/analisis/coherencia/GAPS-TRACKING.yml"
    descripcion: "Tracking detallado de cada gap"

  - archivo: "orchestration/PROXIMA-ACCION.md"
    descripcion: "Estado actual y próxima acción"

  - archivo: "projects/trading-platform/CLAUDE.md"
    descripcion: "Extensiones locales y stack tecnológico"

# ==============================================================================
# HISTORIAL DE CAMBIOS
# ==============================================================================

historial:
  - fecha: "2026-01-27"
    version: "1.0.0"
    cambios: "Creación inicial del roadmap Q1 2026"
    autor: "Claude Code (Opus 4.5)"
    base: "EXECUTION-ORDER.yml + CHECKPOINTS.yml"

---
# Generado por: Claude Code (Opus 4.5)
# Sistema: SIMCO v4.0.0
# Proyecto: trading-platform
# Fecha: 2026-01-27
# Modo: @FULL - Análisis + Planificación
