# CHECKPOINTS.yml - Trading Platform
# Criterios de validación y gates de calidad para el proyecto
# Fecha: 2026-01-27
# Sistema: SIMCO v4.0.0

metadata:
  proyecto: trading-platform
  fecha_creacion: 2026-01-27
  version: 1.0.0
  owner: Claude Opus 4.5
  estado_actual: "Desarrollo Activo - Post MVP"
  completitud_global: 60%
  coherencia_global_actual: 81.25%
  coherencia_global_target: 95%

# ==============================================================================
# VALIDATION GATES - Checkpoints GO/NO-GO
# ==============================================================================

validation_gates:

  # ---------------------------------------------------------------------------
  # CHECKPOINT 01: Resolución de Gaps Bloqueantes (P0)
  # ---------------------------------------------------------------------------
  - gate: CP-01
    nombre: "Post Gaps P0 - Bloqueantes Resueltos"
    descripcion: "Todos los gaps bloqueantes (P0) deben estar resueltos"
    fase: "Post-MVP - Bloqueantes"
    status: NO_GO
    fecha_target: "2026-02-03"
    duracion_estimada: "1.5 semanas (54h)"

    criterios:
      - criterio: "0 gaps bloqueantes abiertos"
        metrica: gaps_p0_count
        umbral: 0
        actual: 3
        estado: FAIL
        detalles:
          - "GAP-P0-001: Password Recovery sin UI (8h)"
          - "GAP-P0-002: User Profile sin servicio (6h)"
          - "GAP-P0-003: Trading Agents sin UI (40h)"

      - criterio: "Password Recovery funcional"
        tipo: functional_test
        metrica: password_recovery_implemented
        umbral: true
        actual: false
        estado: FAIL
        tests_requeridos:
          - "E2E: Flujo completo forgot password -> email -> reset"
          - "Unit: PasswordRecoveryService funcionando"
          - "Integration: Email service conectado"

      - criterio: "User Profile servicio implementado"
        tipo: functional_test
        metrica: user_profile_service_exists
        umbral: true
        actual: false
        estado: FAIL
        tests_requeridos:
          - "GET /users/profile funcional"
          - "PUT /users/profile actualiza datos"
          - "Avatar upload funcionando"

      - criterio: "Trading Agents UI al menos parcial (50%)"
        tipo: functional_test
        metrica: trading_agents_ui_coverage
        umbral: 50
        actual: 0
        estado: FAIL
        tests_requeridos:
          - "Lista de agentes (Atlas, Orion, Nova) visible"
          - "Configuración básica de agente funcional"
          - "Status de agente en tiempo real"

    riesgos:
      - "Sin CP-01: NO se puede lanzar a producción"
      - "Password recovery es requerimiento legal/seguridad"
      - "User profile es feature core de plataforma"

  # ---------------------------------------------------------------------------
  # CHECKPOINT 02: Coherencia DDL-Backend >= 95%
  # ---------------------------------------------------------------------------
  - gate: CP-02
    nombre: "Coherencia DDL-Backend >= 95%"
    descripcion: "Cobertura de servicios backend para tablas DDL"
    fase: "Consolidación Backend"
    status: NO_GO
    fecha_target: "2026-02-10"
    duracion_estimada: "1 semana (40h)"

    criterios:
      - criterio: "Cobertura servicios >= 95%"
        metrica: ddl_backend_coverage
        umbral: 95
        actual: 85
        estado: FAIL
        formula: "(tablas_con_servicio / total_tablas) * 100"
        detalles:
          - "89 tablas DDL totales"
          - "76 tablas con servicio (85%)"
          - "13 tablas faltantes (15%)"

      - criterio: "Servicios backend críticos implementados"
        tipo: functional_test
        metrica: critical_services_coverage
        umbral: 100
        actual: 85
        estado: FAIL
        servicios_faltantes:
          - "marketData.service.ts (GAP-P1-001) - 16h"
          - "notifications.service.ts completo (GAP-P1-002) - 20h"
          - "audit.service.ts (GAP-P2-001) - 32h"
          - "currencyExchange.service.ts (GAP-P2-002) - 16h"
          - "riskAssessment.service.ts (GAP-P2-003) - 12h"

      - criterio: "Endpoints documentados en Swagger"
        tipo: documentation
        metrica: swagger_coverage
        umbral: 100
        actual: 70
        estado: FAIL

    riesgos:
      - "Sin servicios backend: frontend no puede conectarse"
      - "Market data crítico para charts"
      - "Notifications core para UX"

  # ---------------------------------------------------------------------------
  # CHECKPOINT 03: Coherencia Backend-Frontend >= 90%
  # ---------------------------------------------------------------------------
  - gate: CP-03
    nombre: "Coherencia Backend-Frontend >= 90%"
    descripcion: "Frontend consume endpoints backend correctamente"
    fase: "Consolidación Frontend"
    status: NO_GO
    fecha_target: "2026-02-17"
    duracion_estimada: "1 semana (40h)"

    criterios:
      - criterio: "Cobertura consumo endpoints >= 90%"
        metrica: backend_frontend_coverage
        umbral: 90
        actual: 77.5
        estado: FAIL
        formula: "(endpoints_consumidos / total_endpoints) * 100"
        detalles:
          - "187 endpoints totales"
          - "145 endpoints consumidos (77.5%)"
          - "42 endpoints sin consumir (22.5%)"

      - criterio: "ML Chart Overlays implementados"
        tipo: functional_test
        metrica: ml_chart_overlays_implemented
        umbral: true
        actual: false
        estado: FAIL
        esfuerzo: "24h (GAP-P1-003)"

      - criterio: "Frontend services usando apiClient"
        tipo: architectural
        metrica: services_using_apiclient
        umbral: 100
        actual: 64
        estado: FAIL
        servicios_sin_apiclient:
          - "portfolio.service.ts"
          - "adminService.ts"
          - "mlService.ts"
          - "llmAgentService.ts"
          - "backtestService.ts"
        riesgo: "Sin auto-refresh tokens, sin retry logic, sin manejo errores consistente"

      - criterio: "2FA flujo completo"
        tipo: functional_test
        metrica: two_factor_auth_complete
        umbral: true
        actual: false
        estado: FAIL
        esfuerzo: "16h (GAP-P1-004)"

    riesgos:
      - "UX inconsistente sin apiClient"
      - "Security risk sin 2FA completo"
      - "ML features no visibles sin overlays"

  # ---------------------------------------------------------------------------
  # CHECKPOINT 04: Consolidación Arquitectural
  # ---------------------------------------------------------------------------
  - gate: CP-04
    nombre: "Consolidación Arquitectural"
    descripcion: "Acceso consistente a servicios backend y Python"
    fase: "Refactoring Arquitectural"
    status: NO_GO
    fecha_target: "2026-02-24"
    duracion_estimada: "1 semana (40h)"

    criterios:
      - criterio: "Acceso Python centralizado vía Express"
        tipo: architectural
        metrica: python_access_via_express
        umbral: 100
        actual: 0
        estado: FAIL
        problema: "Frontend accede directamente a servicios Python sin gateway"
        servicios_afectados:
          - "mlService.ts -> ML Engine (3083)"
          - "llmAgentService.ts -> LLM Agent (3085)"
          - "backtestService.ts -> ML Engine (3083)"
        riesgos:
          - "Sin autenticación centralizada"
          - "CORS issues potenciales"
          - "Sin rate limiting consistente"
        solucion: "Migrar todo acceso via Express backend como gateway"

      - criterio: "100% servicios usando apiClient"
        tipo: architectural
        metrica: services_using_apiclient_percentage
        umbral: 100
        actual: 64
        estado: FAIL
        trabajo_requerido: "Migrar 5 servicios a apiClient"

      - criterio: "Consistencia manejo tokens"
        tipo: security
        metrica: token_handling_consistent
        umbral: true
        actual: false
        estado: FAIL
        problema: "Inconsistencia auth_token vs token (B-004)"
        status_blocker: "RESUELTO (P1)"

    riesgos:
      - "Security vulnerabilities sin gateway centralizado"
      - "Mantenibilidad baja con acceso directo"

  # ---------------------------------------------------------------------------
  # CHECKPOINT 05: Testing y Calidad
  # ---------------------------------------------------------------------------
  - gate: CP-05
    nombre: "Testing y Calidad"
    descripcion: "Coverage y tests de integración completos"
    fase: "Quality Assurance"
    status: NO_GO
    fecha_target: "2026-03-03"
    duracion_estimada: "1 semana (40h)"

    criterios:
      - criterio: "Code coverage >= 80%"
        tipo: quality
        metrica: code_coverage
        umbral: 80
        actual: 15
        estado: FAIL
        nota: "Actualmente solo 153 E2E tests (video upload)"

      - criterio: "0 errores lint"
        tipo: quality
        metrica: lint_errors
        umbral: 0
        actual: "unknown"
        estado: UNKNOWN

      - criterio: "0 errores TypeScript"
        tipo: quality
        metrica: type_errors
        umbral: 0
        actual: "unknown"
        estado: UNKNOWN

      - criterio: "Tests E2E críticos implementados"
        tipo: functional_test
        metrica: e2e_critical_tests_count
        umbral: 20
        actual: 5
        estado: FAIL
        tests_requeridos:
          - "Login flow completo (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 playback"
          - "Notification delivery (push + email)"

    riesgos:
      - "Bajo coverage = bugs en producción"
      - "Sin E2E tests = regresiones no detectadas"

# ==============================================================================
# MÉTRICAS A MONITOREAR
# ==============================================================================

metricas_monitorear:

  coherencia_global:
    descripcion: "Promedio coherencia DDL-Backend-Frontend"
    actual: 81.25
    target: 95
    gap: -13.75
    formula: "(ddl_backend_coverage + backend_frontend_coverage) / 2"
    frecuencia_medicion: "Semanal"

  gaps_por_prioridad:
    p0_bloqueantes:
      actual: 3
      target: 0
      esfuerzo_total: "54h"
      items:
        - "GAP-P0-001: Password Recovery (8h)"
        - "GAP-P0-002: User Profile (6h)"
        - "GAP-P0-003: Trading Agents UI (40h)"

    p1_criticos:
      actual: 4
      target: 0
      esfuerzo_total: "76h"
      items:
        - "GAP-P1-001: Market Data OHLCV (16h)"
        - "GAP-P1-002: Notifications API (20h)"
        - "GAP-P1-003: ML Chart Overlays (24h)"
        - "GAP-P1-004: 2FA completo (16h)"

    p2_importantes:
      actual: 5
      target: 0
      esfuerzo_total: "78h"
      items:
        - "GAP-P2-001: Audit system (32h)"
        - "GAP-P2-002: Currency Exchange (16h)"
        - "GAP-P2-003: Risk Assessment (12h)"
        - "GAP-P2-004: Course Reviews (6h)"
        - "GAP-P2-005: OAuth flows (12h)"

  coherencia_por_capa:
    ddl_backend:
      actual: 85
      target: 95
      gap: -10
      tablas_totales: 89
      tablas_con_servicio: 76
      tablas_faltantes: 13

    backend_frontend:
      actual: 77.5
      target: 90
      gap: -12.5
      endpoints_totales: 187
      endpoints_consumidos: 145
      endpoints_faltantes: 42

  coherencia_por_epica:
    oqi_001_auth:
      ddl: 100
      backend: 95
      frontend: 85
      global: 93
      estado: EXCELENTE

    oqi_002_education:
      ddl: 100
      backend: 90
      frontend: 96
      global: 95
      estado: EXCELENTE

    oqi_003_trading:
      ddl: 100
      backend: 100
      frontend: 95
      global: 98
      estado: EXCELENTE

    oqi_004_investment:
      ddl: 100
      backend: 90
      frontend: 100
      global: 97
      estado: EXCELENTE

    oqi_005_payments:
      ddl: 100
      backend: 85
      frontend: 92
      global: 92
      estado: EXCELENTE

    oqi_006_ml_signals:
      ddl: 100
      backend: 100
      frontend: 47
      global: 82
      estado: BUENO
      nota: "Frontend gap en ML overlays"

    oqi_007_llm_agent:
      ddl: 100
      backend: 100
      frontend: 67
      global: 89
      estado: BUENO
      nota: "Frontend gap en panels"

    oqi_008_portfolio:
      ddl: 100
      backend: 100
      frontend: 92
      global: 97
      estado: EXCELENTE

    oqi_009_mt4:
      ddl: 0
      backend: 0
      frontend: 0
      global: 0
      estado: NO_INICIADO
      nota: "Feature completa sin implementar"

  servicios_apiclient:
    actual: 64
    target: 100
    gap: -36
    servicios_totales: 14
    servicios_con_apiclient: 9
    servicios_sin_apiclient: 5

  acceso_python_directo:
    actual: 3
    target: 0
    servicios_con_acceso_directo:
      - mlService.ts
      - llmAgentService.ts
      - backtestService.ts

# ==============================================================================
# TESTS DE ACEPTACIÓN
# ==============================================================================

tests_aceptacion:

  # E2E Tests Críticos
  e2e_tests:
    - test: "Login flow E2E"
      id: E2E-001
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P0
      escenario: "Usuario ingresa email + password -> recibe token -> accede a dashboard"
      criterio_exito: "Login exitoso en < 2s"
      dependencias: ["GAP-P0-002 resuelto"]

    - test: "Password recovery E2E"
      id: E2E-002
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P0
      escenario: "Usuario forgot password -> email -> reset -> login exitoso"
      criterio_exito: "Email recibido en < 30s, reset exitoso"
      dependencias: ["GAP-P0-001 resuelto"]

    - test: "2FA flow E2E"
      id: E2E-003
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P1
      escenario: "Usuario enable 2FA -> QR code -> verify TOTP -> login con 2FA"
      criterio_exito: "2FA funcionando correctamente"
      dependencias: ["GAP-P1-004 resuelto"]

    - test: "Trading order placement E2E"
      id: E2E-004
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P0
      escenario: "Usuario selecciona symbol -> ingresa order -> confirma -> ejecuta"
      criterio_exito: "Order aparece en historial, balance actualizado"
      dependencias: ["GAP-P0-003 parcialmente resuelto"]

    - test: "ML signal visualization E2E"
      id: E2E-005
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P1
      escenario: "Usuario abre chart -> ML overlay visible -> señales actualizadas"
      criterio_exito: "Overlays renderizados, latencia < 1s"
      dependencias: ["GAP-P1-003 resuelto"]

    - test: "Payment flow Stripe E2E"
      id: E2E-006
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P1
      escenario: "Usuario selecciona plan -> Stripe checkout -> payment success"
      criterio_exito: "Payment confirmado, subscription activada"
      dependencias: ["OQI-005 completo"]

    - test: "Course enrollment + video playback E2E"
      id: E2E-007
      tipo: e2e
      automatizado: true
      target: true
      prioridad: P2
      escenario: "Usuario enrolls en curso -> ve video -> progreso guardado"
      criterio_exito: "Video reproduce, progreso persiste"
      dependencias: ["OQI-002 completo"]
      nota: "153 E2E tests existentes para video upload"

    - test: "LLM chat interaction E2E"
      id: E2E-008
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P2
      escenario: "Usuario abre chat -> envía mensaje -> recibe respuesta LLM"
      criterio_exito: "Respuesta en < 5s, context mantenido"
      dependencias: ["OQI-007 completado al 70%"]

    - test: "Portfolio creation E2E"
      id: E2E-009
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P2
      escenario: "Usuario crea portfolio -> agrega assets -> ve balance"
      criterio_exito: "Portfolio creado, balance calculado correctamente"
      dependencias: ["OQI-008 completado"]

    - test: "Notification delivery E2E"
      id: E2E-010
      tipo: e2e
      automatizado: false
      target: true
      prioridad: P1
      escenario: "Sistema genera notificación -> usuario recibe push + email"
      criterio_exito: "Notificación recibida en < 10s"
      dependencias: ["GAP-P1-002 resuelto"]

  # Integration Tests
  integration_tests:
    - test: "Backend API health check"
      id: INT-001
      tipo: integration
      automatizado: true
      target: true
      prioridad: P0
      endpoint: "GET /health"
      criterio_exito: "Status 200, servicios conectados"

    - test: "PostgreSQL connection pool"
      id: INT-002
      tipo: integration
      automatizado: true
      target: true
      prioridad: P0
      criterio_exito: "Pool activo, queries < 100ms"

    - test: "Redis cache funcionando"
      id: INT-003
      tipo: integration
      automatizado: true
      target: true
      prioridad: P0
      criterio_exito: "Set/Get funcionando, TTL respetado"

    - test: "ML Engine connection"
      id: INT-004
      tipo: integration
      automatizado: true
      target: true
      prioridad: P1
      criterio_exito: "FastAPI responde, modelos cargados"

    - test: "LLM Agent connection"
      id: INT-005
      tipo: integration
      automatizado: true
      target: true
      prioridad: P2
      criterio_exito: "FastAPI responde, Ollama conectado"

    - test: "Trading Agents connection"
      id: INT-006
      tipo: integration
      automatizado: true
      target: true
      prioridad: P1
      criterio_exito: "FastAPI responde, agentes disponibles"

  # Unit Tests
  unit_tests:
    - test: "Auth service unit tests"
      id: UNIT-001
      tipo: unit
      automatizado: true
      target: true
      prioridad: P0
      coverage_target: 90
      criterio_exito: "Login, register, logout, refresh testeados"

    - test: "Trading service unit tests"
      id: UNIT-002
      tipo: unit
      automatizado: true
      target: true
      prioridad: P0
      coverage_target: 85
      criterio_exito: "Order placement, cancellation, history testeados"

    - test: "Payment service unit tests"
      id: UNIT-003
      tipo: unit
      automatizado: true
      target: true
      prioridad: P1
      coverage_target: 80
      criterio_exito: "Stripe integration testeado"

# ==============================================================================
# UMBRALES DE CALIDAD
# ==============================================================================

umbrales_calidad:

  codigo:
    code_coverage:
      actual: 15
      target: 80
      umbral_minimo: 70
      gap: -65
      bloqueante: true
      nota: "Bloqueante para producción"

    lint_errors:
      actual: unknown
      target: 0
      umbral_minimo: 0
      bloqueante: true

    type_errors:
      actual: unknown
      target: 0
      umbral_minimo: 0
      bloqueante: true

    complexity:
      cyclomatic_max: 10
      cognitive_max: 15
      nota: "Refactorizar funciones que excedan"

  rendimiento:
    api_response_time:
      p50: "< 200ms"
      p95: "< 500ms"
      p99: "< 1s"

    frontend_load_time:
      inicial: "< 2s"
      interactivo: "< 3s"

    database_query_time:
      simple: "< 50ms"
      complex: "< 200ms"

  seguridad:
    vulnerabilities:
      critical: 0
      high: 0
      medium: "< 5"

    dependencies_outdated:
      critical: 0
      all: "< 20%"

  arquitectura:
    services_using_apiclient: 100
    python_access_via_express: 100
    swagger_coverage: 100
    endpoints_documented: 100

# ==============================================================================
# RUTA CRÍTICA Y DEPENDENCIAS
# ==============================================================================

ruta_critica:

  semana_1_2:
    fecha_inicio: "2026-01-27"
    fecha_fin: "2026-02-03"
    objetivo: "Resolver Gaps P0 (Bloqueantes)"
    checkpoint: CP-01
    esfuerzo: "54h"
    tareas:
      - tarea: "Implementar Password Recovery UI"
        id: TASK-P0-001
        esfuerzo: "8h"
        owner: TBD
        bloqueante: true

      - tarea: "Crear userService.ts + endpoints"
        id: TASK-P0-002
        esfuerzo: "6h"
        owner: TBD
        bloqueante: true

      - tarea: "Iniciar Trading Agents UI (50%)"
        id: TASK-P0-003
        esfuerzo: "20h"
        owner: TBD
        bloqueante: true
        nota: "40h total, pero 50% suficiente para CP-01"

  semana_3_4:
    fecha_inicio: "2026-02-03"
    fecha_fin: "2026-02-10"
    objetivo: "Resolver Gaps P1 (Críticos) + Coherencia DDL-Backend"
    checkpoint: CP-02
    esfuerzo: "76h"
    dependencias: ["CP-01 PASSED"]
    tareas:
      - tarea: "Crear marketData.service.ts"
        id: TASK-P1-001
        esfuerzo: "16h"
        owner: TBD

      - tarea: "Completar Notifications API"
        id: TASK-P1-002
        esfuerzo: "20h"
        owner: TBD

      - tarea: "ML Chart Overlays frontend"
        id: TASK-P1-003
        esfuerzo: "24h"
        owner: TBD

      - tarea: "2FA flujo completo"
        id: TASK-P1-004
        esfuerzo: "16h"
        owner: TBD

  semana_5_6:
    fecha_inicio: "2026-02-10"
    fecha_fin: "2026-02-17"
    objetivo: "Resolver Gaps P2 + Coherencia Backend-Frontend"
    checkpoint: CP-03
    esfuerzo: "78h"
    dependencias: ["CP-02 PASSED"]
    tareas:
      - tarea: "Audit system servicios"
        id: TASK-P2-001
        esfuerzo: "32h"
        owner: TBD

      - tarea: "Currency Exchange service"
        id: TASK-P2-002
        esfuerzo: "16h"
        owner: TBD

      - tarea: "Risk Assessment service"
        id: TASK-P2-003
        esfuerzo: "12h"
        owner: TBD

      - tarea: "Course Reviews + OAuth flows"
        id: TASK-P2-004
        esfuerzo: "18h"
        owner: TBD

  semana_7_8:
    fecha_inicio: "2026-02-17"
    fecha_fin: "2026-02-24"
    objetivo: "Consolidación Arquitectural"
    checkpoint: CP-04
    esfuerzo: "40h"
    dependencias: ["CP-03 PASSED"]
    tareas:
      - tarea: "Migrar acceso Python via Express"
        id: TASK-ARCH-001
        esfuerzo: "16h"
        owner: TBD
        impacto: "Security + Consistency"

      - tarea: "Migrar servicios a apiClient"
        id: TASK-ARCH-002
        esfuerzo: "16h"
        owner: TBD
        impacto: "UX + Error handling"

      - tarea: "Tests de integración"
        id: TASK-ARCH-003
        esfuerzo: "8h"
        owner: TBD

  semana_9_10:
    fecha_inicio: "2026-02-24"
    fecha_fin: "2026-03-03"
    objetivo: "Testing y Calidad"
    checkpoint: CP-05
    esfuerzo: "40h"
    dependencias: ["CP-04 PASSED"]
    tareas:
      - tarea: "Implementar E2E tests críticos"
        id: TASK-QA-001
        esfuerzo: "24h"
        owner: TBD
        tests: 10

      - tarea: "Aumentar code coverage a 80%"
        id: TASK-QA-002
        esfuerzo: "16h"
        owner: TBD

# ==============================================================================
# CONDICIONES GO/NO-GO PARA PRODUCCIÓN
# ==============================================================================

condiciones_produccion:

  bloqueantes_absolutos:
    - condicion: "CP-01 PASSED"
      descripcion: "0 gaps P0 abiertos"
      estado: FAIL

    - condicion: "CP-02 PASSED"
      descripcion: "Coherencia DDL-Backend >= 95%"
      estado: FAIL

    - condicion: "Code coverage >= 70%"
      descripcion: "Coverage mínimo para producción"
      estado: FAIL

    - condicion: "0 vulnerabilidades críticas"
      descripcion: "Security audit passed"
      estado: UNKNOWN

    - condicion: "E2E tests críticos passed"
      descripcion: "Login, trading, payment funcionando"
      estado: FAIL

  recomendados:
    - condicion: "CP-03 PASSED"
      descripcion: "Coherencia Backend-Frontend >= 90%"
      estado: FAIL

    - condicion: "CP-04 PASSED"
      descripcion: "Arquitectura consolidada"
      estado: FAIL

    - condicion: "Code coverage >= 80%"
      descripcion: "Coverage recomendado"
      estado: FAIL

  nice_to_have:
    - condicion: "CP-05 PASSED"
      descripcion: "QA completo"
      estado: FAIL

    - condicion: "OQI-009 implementado"
      descripcion: "MT4 Gateway funcional"
      estado: FAIL

# ==============================================================================
# TRACKING Y REPORTES
# ==============================================================================

tracking:
  frecuencia_revision: "Semanal"
  responsable: "Project Lead"
  formato_reporte: "YAML update + Executive summary"

  metricas_semanales:
    - coherencia_global
    - gaps_p0_count
    - gaps_p1_count
    - gaps_p2_count
    - code_coverage
    - tests_passed
    - checkpoints_status

  escalacion:
    - trigger: "CP-01 no resuelto en fecha target"
      accion: "Escalar a PM, re-priorizar recursos"

    - trigger: "Code coverage < 50% a 1 semana de release"
      accion: "Postponer release, focus en testing"

    - trigger: "Gaps P0 nuevos descubiertos"
      accion: "Freeze features, resolver bloqueantes"

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

historial:
  - fecha: "2026-01-27"
    version: "1.0.0"
    cambios: "Creación inicial del archivo de checkpoints"
    autor: "Claude Opus 4.5"
    base: "COHERENCE-MASTER-REPORT.md + PROJECT-STATUS.md"
