# =============================================================================
# TRACEABILITY MATRIX - ERP CONSTRUCCION
# =============================================================================
# Version: 1.0.0
# Ultima actualizacion: 2025-12-06
# Proposito: Matriz de trazabilidad RF -> ET -> US -> Codigo
# =============================================================================

metadata:
  proyecto: ERP Construccion
  version: 1.0.0
  fecha_actualizacion: 2025-12-06
  base_core: erp-core
  reutilizacion: 61%

# =============================================================================
# RESUMEN GLOBAL
# =============================================================================
resumen:
  modulos_total: 18
  modulos_documentados: 17

  requerimientos:
    total: 79
    fase_1: 64
    fase_2: 15

  especificaciones:
    total: 78
    database: 17
    backend: 17
    frontend: 44

  user_stories:
    total: 139
    con_criterios_aceptacion: 139

  implementacion:
    codigo_total: 0
    tests_total: 0
    coverage: 0%

# =============================================================================
# COBERTURA DE TRAZABILIDAD
# =============================================================================
cobertura:
  rf_to_et: 98.7%          # 78/79 RF tienen ET (MAA-017 pendiente)
  et_to_us: 100%           # Todas las ET tienen US
  us_to_code: 0%           # Sin implementacion aun
  overall: 66%

# =============================================================================
# TRAZABILIDAD POR MODULO - FASE 1
# =============================================================================
fase_1:
  # -------------------------------------------------------------------------
  # MAI-001: Fundamentos y Seguridad
  # -------------------------------------------------------------------------
  - modulo: MAI-001
    nombre: Fundamentos y Seguridad
    reutilizacion_core: 100%
    extiende:
      - MGN-001 (auth)
      - MGN-002 (users)
      - MGN-003 (roles)
      - MGN-004 (tenants)

    requerimientos:
      - id: RF-FUND-001
        titulo: Autenticacion JWT Multi-tenant
        et: [ET-FUND-database, ET-FUND-backend]
        us: [US-MAI001-001, US-MAI001-002]
        implementado: false

      - id: RF-FUND-002
        titulo: Gestion de Usuarios Constructora
        et: [ET-FUND-database, ET-FUND-backend]
        us: [US-MAI001-003, US-MAI001-004]
        implementado: false

      - id: RF-FUND-003
        titulo: RBAC por Proyecto/Obra
        et: [ET-FUND-database, ET-FUND-backend]
        us: [US-MAI001-005, US-MAI001-006, US-MAI001-007, US-MAI001-008]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-002: Proyectos y Estructura
  # -------------------------------------------------------------------------
  - modulo: MAI-002
    nombre: Proyectos y Estructura de Obra
    reutilizacion_core: 40%
    directiva: DIRECTIVA-CONTROL-OBRA.md

    requerimientos:
      - id: RF-PROJ-001
        titulo: CRUD Fraccionamientos/Desarrollos
        et: [ET-PROJ-database, ET-PROJ-backend, ET-PROJ-frontend]
        us: [US-MAI002-001, US-MAI002-002]
        tablas: [fraccionamientos, etapas]
        endpoints: [/api/v1/fraccionamientos]
        implementado: false

      - id: RF-PROJ-002
        titulo: Estructura Jerarquica Horizontal
        et: [ET-PROJ-database, ET-PROJ-backend]
        us: [US-MAI002-003, US-MAI002-004]
        tablas: [manzanas, lotes]
        implementado: false

      - id: RF-PROJ-003
        titulo: Estructura Jerarquica Vertical
        et: [ET-PROJ-database, ET-PROJ-backend]
        us: [US-MAI002-005, US-MAI002-006]
        tablas: [torres, niveles, departamentos]
        implementado: false

      - id: RF-PROJ-004
        titulo: Prototipos de Vivienda
        et: [ET-PROJ-database, ET-PROJ-backend, ET-PROJ-frontend]
        us: [US-MAI002-007, US-MAI002-008, US-MAI002-009]
        tablas: [prototipos, asignacion_prototipo]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-003: Presupuestos y Costos
  # -------------------------------------------------------------------------
  - modulo: MAI-003
    nombre: Presupuestos y Costos
    reutilizacion_core: 0%

    requerimientos:
      - id: RF-PRES-001
        titulo: Arbol Presupuestario
        et: [ET-PRES-database, ET-PRES-backend, ET-PRES-frontend]
        us: [US-MAI003-001, US-MAI003-002]
        tablas: [presupuestos, partidas, subpartidas, conceptos]
        implementado: false

      - id: RF-PRES-002
        titulo: Catalogo OPUS/Precios Unitarios
        et: [ET-PRES-database, ET-PRES-backend]
        us: [US-MAI003-003, US-MAI003-004]
        implementado: false

      - id: RF-PRES-003
        titulo: Comparativo Presupuesto vs Real
        et: [ET-PRES-backend, ET-PRES-frontend]
        us: [US-MAI003-005, US-MAI003-006]
        implementado: false

      - id: RF-PRES-004
        titulo: Explosion de Insumos
        et: [ET-PRES-database, ET-PRES-backend]
        us: [US-MAI003-007, US-MAI003-008]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-004: Compras e Inventarios
  # -------------------------------------------------------------------------
  - modulo: MAI-004
    nombre: Compras e Inventarios
    reutilizacion_core: 80%

    requerimientos:
      - id: RF-COMP-001
        titulo: Requisiciones de Material
        et: [ET-COMP-database, ET-COMP-backend, ET-COMP-frontend]
        us: [US-MAI004-001, US-MAI004-002]
        implementado: false

      - id: RF-COMP-002
        titulo: Ordenes de Compra
        et: [ET-COMP-database, ET-COMP-backend, ET-COMP-frontend]
        us: [US-MAI004-003, US-MAI004-004]
        implementado: false

      - id: RF-COMP-003
        titulo: Almacenes por Obra
        et: [ET-COMP-database, ET-COMP-backend]
        us: [US-MAI004-005, US-MAI004-006]
        app_movil: MOB-002
        implementado: false

      - id: RF-COMP-004
        titulo: Movimientos de Inventario
        et: [ET-COMP-database, ET-COMP-backend, ET-COMP-frontend]
        us: [US-MAI004-007, US-MAI004-008]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-005: Control de Obra
  # -------------------------------------------------------------------------
  - modulo: MAI-005
    nombre: Control de Obra
    reutilizacion_core: 0%
    directiva: DIRECTIVA-CONTROL-OBRA.md

    requerimientos:
      - id: RF-OBRA-001
        titulo: Registro de Avances Fisicos
        et: [ET-OBRA-database, ET-OBRA-backend, ET-OBRA-frontend]
        us: [US-MAI005-001, US-MAI005-002]
        app_movil: MOB-003
        implementado: false

      - id: RF-OBRA-002
        titulo: Control de Avances Financieros
        et: [ET-OBRA-database, ET-OBRA-backend]
        us: [US-MAI005-003, US-MAI005-004]
        implementado: false

      - id: RF-OBRA-003
        titulo: Gestion de Recursos en Sitio
        et: [ET-OBRA-database, ET-OBRA-backend]
        us: [US-MAI005-005, US-MAI005-006]
        implementado: false

      - id: RF-OBRA-004
        titulo: Bitacora de Obra Digital
        et: [ET-OBRA-database, ET-OBRA-backend, ET-OBRA-frontend]
        us: [US-MAI005-007, US-MAI005-008]
        app_movil: MOB-003
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-006: Reportes y Analytics
  # -------------------------------------------------------------------------
  - modulo: MAI-006
    nombre: Reportes y Analytics
    reutilizacion_core: 60%

    requerimientos:
      - id: RF-REP-001
        titulo: Dashboard Ejecutivo
        et: [ET-REP-backend, ET-REP-frontend]
        us: [US-MAI006-001, US-MAI006-002]
        implementado: false

      - id: RF-REP-002
        titulo: Reportes de Avance de Obra
        et: [ET-REP-backend, ET-REP-frontend]
        us: [US-MAI006-003, US-MAI006-004]
        implementado: false

      - id: RF-REP-003
        titulo: Reportes Financieros
        et: [ET-REP-backend, ET-REP-frontend]
        us: [US-MAI006-005, US-MAI006-006]
        implementado: false

      - id: RF-REP-004
        titulo: Exportacion Multi-formato
        et: [ET-REP-backend]
        us: [US-MAI006-007, US-MAI006-008]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-007: RRHH y Asistencias
  # -------------------------------------------------------------------------
  - modulo: MAI-007
    nombre: RRHH y Asistencias
    reutilizacion_core: 50%

    requerimientos:
      - id: RF-RRHH-001
        titulo: Catalogo de Personal
        et: [ET-RRHH-database, ET-RRHH-backend, ET-RRHH-frontend]
        us: [US-MAI007-001]
        implementado: false

      - id: RF-RRHH-002
        titulo: Registro Biometrico Asistencias
        et: [ET-RRHH-database, ET-RRHH-backend]
        us: [US-MAI007-002, US-MAI007-003]
        app_movil: MOB-001
        biometria: [facial, huella]
        implementado: false

      - id: RF-RRHH-003
        titulo: Gestion de Cuadrillas
        et: [ET-RRHH-database, ET-RRHH-backend]
        us: [US-MAI007-004]
        app_movil: MOB-004
        implementado: false

      - id: RF-RRHH-004
        titulo: Control de Destajo
        et: [ET-RRHH-database, ET-RRHH-backend, ET-RRHH-frontend]
        us: [US-MAI007-005, US-MAI007-006]
        app_movil: MOB-004
        implementado: false

      - id: RF-RRHH-005
        titulo: Reportes de Productividad
        et: [ET-RRHH-backend, ET-RRHH-frontend]
        us: [US-MAI007-007]
        implementado: false

      - id: RF-RRHH-006
        titulo: Geolocalizacion de Personal
        et: [ET-RRHH-database, ET-RRHH-backend]
        us: [US-MAI007-008]
        app_movil: [MOB-001, MOB-003, MOB-004]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-008: Estimaciones y Facturacion
  # -------------------------------------------------------------------------
  - modulo: MAI-008
    nombre: Estimaciones y Facturacion
    reutilizacion_core: 20%
    directiva: DIRECTIVA-ESTIMACIONES.md

    requerimientos:
      - id: RF-EST-001
        titulo: Estimaciones de Obra
        et: [ET-EST-database, ET-EST-backend, ET-EST-frontend]
        us: [US-MAI008-001, US-MAI008-002]
        implementado: false

      - id: RF-EST-002
        titulo: Workflow Aprobacion Estimaciones
        et: [ET-EST-database, ET-EST-backend, ET-EST-frontend]
        us: [US-MAI008-003, US-MAI008-004]
        implementado: false

      - id: RF-EST-003
        titulo: Gestion de Anticipos
        et: [ET-EST-database, ET-EST-backend]
        us: [US-MAI008-005]
        implementado: false

      - id: RF-EST-004
        titulo: Deducciones y Retenciones
        et: [ET-EST-database, ET-EST-backend]
        us: [US-MAI008-006, US-MAI008-007]
        implementado: false

      - id: RF-EST-005
        titulo: Facturacion Electronica
        et: [ET-EST-backend]
        us: [US-MAI008-008]
        implementado: false

  # -------------------------------------------------------------------------
  # MAI-009 a MAI-013, MAI-018 (estructura similar)
  # -------------------------------------------------------------------------
  - modulo: MAI-009
    nombre: Calidad y Postventa
    reutilizacion_core: 10%
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

  - modulo: MAI-010
    nombre: CRM Derechohabientes
    reutilizacion_core: 40%
    rf_count: 5
    et_count: 5
    us_count: 8
    app_movil: MOB-005
    implementado: false

  - modulo: MAI-011
    nombre: Integracion INFONAVIT
    reutilizacion_core: 0%
    directiva: DIRECTIVA-INTEGRACION-INFONAVIT.md
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

  - modulo: MAI-012
    nombre: Contratos y Subcontratos
    reutilizacion_core: 20%
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

  - modulo: MAI-013
    nombre: Administracion
    reutilizacion_core: 80%
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

  - modulo: MAI-018
    nombre: Preconstruccion y Licitaciones
    reutilizacion_core: 10%
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

# =============================================================================
# TRAZABILIDAD FASE 2
# =============================================================================
fase_2:
  - modulo: MAE-014
    nombre: Finanzas y Controlling
    reutilizacion_core: 70%
    rf_count: 5
    et_count: 5
    us_count: 11
    implementado: false

  - modulo: MAE-015
    nombre: Activos y Maquinaria
    reutilizacion_core: 30%
    rf_count: 5
    et_count: 5
    us_count: 8
    implementado: false

  - modulo: MAE-016
    nombre: Gestion Documental
    reutilizacion_core: 50%
    rf_count: 5
    et_count: 5
    us_count: 7
    implementado: false

# =============================================================================
# TRAZABILIDAD FASE 3
# =============================================================================
fase_3:
  - modulo: MAA-017
    nombre: Seguridad HSE
    reutilizacion_core: 20%
    rf_count: 0
    et_count: 0
    us_count: 0
    estado: pendiente_documentacion
    implementado: false

# =============================================================================
# TRAZABILIDAD APPS MOVILES
# =============================================================================
apps_moviles:
  - app: MOB-001
    nombre: Checador Biometrico
    modulos_fuente: [MAI-007]
    rf_relacionados: [RF-RRHH-002, RF-RRHH-006]
    us_dedicadas: 4
    offline_first: true
    biometria: true
    implementado: false

  - app: MOB-002
    nombre: Almacenista
    modulos_fuente: [MAI-004]
    rf_relacionados: [RF-COMP-003, RF-COMP-004]
    us_dedicadas: 4
    offline_first: true
    implementado: false

  - app: MOB-003
    nombre: Supervisor de Obra
    modulos_fuente: [MAI-005]
    rf_relacionados: [RF-OBRA-001, RF-OBRA-004]
    us_dedicadas: 5
    offline_first: true
    geolocalizacion: true
    implementado: false

  - app: MOB-004
    nombre: Capataz/Cuadrilla
    modulos_fuente: [MAI-007]
    rf_relacionados: [RF-RRHH-003, RF-RRHH-004]
    us_dedicadas: 4
    offline_first: true
    implementado: false

  - app: MOB-005
    nombre: Derechohabiente
    modulos_fuente: [MAI-010]
    rf_relacionados: [RF-CRM-001, RF-CRM-002]
    us_dedicadas: 4
    implementado: false

# =============================================================================
# VALIDACIONES
# =============================================================================
validaciones:
  rf_huerfanos: 0
  et_huerfanas: 0
  us_huerfanas: 0
  codigo_huerfano: 0

  alertas:
    - tipo: modulo_pendiente
      modulo: MAA-017
      mensaje: "Modulo HSE sin documentacion RF/ET/US"

    - tipo: implementacion_pendiente
      mensaje: "0% de codigo implementado"

# =============================================================================
# REFERENCIAS CRUZADAS CON ERP-CORE
# =============================================================================
referencias_core:
  specs_aplicables: 27
  specs_implementadas: 0

  specs_pendientes:
    - spec: SPEC-SISTEMA-SECUENCIAS
      modulos: [MAI-001, MAI-002, MAI-003]
      prioridad: P0
      estado: PENDIENTE

    - spec: SPEC-VALORACION-INVENTARIO
      modulos: [MAI-004]
      prioridad: P0
      estado: PENDIENTE
      adaptacion: "Valorización de materiales de construcción"

    - spec: SPEC-TRAZABILIDAD-LOTES-SERIES
      modulos: [MAI-004, MAI-009]
      prioridad: P0
      estado: PENDIENTE
      adaptacion: "Trazabilidad de materiales por obra"

    - spec: SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN
      modulos: [MAI-002, MAI-005]
      prioridad: P0
      estado: PENDIENTE
      adaptacion: "Control de avance de obra con burndown"

    - spec: SPEC-MAIL-THREAD-TRACKING
      modulos: [MAI-010, MAI-012]
      prioridad: P1
      estado: PENDIENTE
      adaptacion: "Comunicación con derechohabientes y subcontratistas"

    - spec: SPEC-RRHH-EVALUACIONES-SKILLS
      modulos: [MAI-007]
      prioridad: P1
      estado: PENDIENTE
      adaptacion: "Evaluación de cuadrillas y personal de obra"

    - spec: SPEC-WIZARD-TRANSIENT-MODEL
      modulos: [MAI-008]
      prioridad: P1
      estado: PENDIENTE
      adaptacion: "Asistente de estimaciones"

    - spec: SPEC-FACTURACION-CFDI
      modulos: [MAI-008]
      prioridad: P0
      estado: PENDIENTE

  modulos_extendidos:
    - core: MGN-001
      vertical: MAI-001
      tipo: extension_directa

    - core: MGN-002
      vertical: MAI-001
      tipo: extension_directa

    - core: MGN-005
      vertical: MAI-003
      tipo: uso_catalogos

    - core: MGN-010
      vertical: MAE-014
      tipo: extension_financiera

    - core: MGN-011
      vertical: MAI-004
      tipo: extension_inventario_obra

    - core: MGN-014
      vertical: MAI-007
      tipo: extension_rrhh_obra

# =============================================================================
# METADATA
# =============================================================================
metadata:
  creado_por: Requirements-Analyst
  fecha_creacion: 2025-12-06
  ultima_actualizacion: 2025-12-06
  version_documento: 1.0.0
