erp-core/orchestration/analisis/F5-DEPENDENCIAS-DOCUMENTACION-2026-01-10.md
rckrdmrd 0086695b4c
Some checks failed
ERP Core CI / Backend Lint (push) Has been cancelled
ERP Core CI / Backend Unit Tests (push) Has been cancelled
ERP Core CI / Backend Integration Tests (push) Has been cancelled
ERP Core CI / Frontend Lint (push) Has been cancelled
ERP Core CI / Frontend Unit Tests (push) Has been cancelled
ERP Core CI / Frontend E2E Tests (push) Has been cancelled
ERP Core CI / Database DDL Validation (push) Has been cancelled
ERP Core CI / Backend Build (push) Has been cancelled
ERP Core CI / Frontend Build (push) Has been cancelled
ERP Core CI / CI Success (push) Has been cancelled
Performance Tests / Lighthouse CI (push) Has been cancelled
Performance Tests / Bundle Size Analysis (push) Has been cancelled
Performance Tests / k6 Load Tests (push) Has been cancelled
Performance Tests / Performance Summary (push) Has been cancelled
[SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios backend
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Actualizaciones en modulos CRM y OpenAPI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

12 KiB

FASE 5: ANALISIS DE DEPENDENCIAS

Mapeo de Dependencias entre Archivos a Modificar


METADATOS

Campo Valor
Fase 5 - Analisis de Dependencias
Proyecto ERP Core
Fecha 2026-01-10
Metodologia CAPVED + SIMCO v3.8
Estado COMPLETADO

1. GRAFO DE DEPENDENCIAS

1.1 Dependencias Entre Inventarios

MASTER_INVENTORY.yml
    ├── depende_de: (ninguno - es raiz)
    └── referenciado_por:
        ├── DEPENDENCY_GRAPH.yml (lista modulos)
        ├── TRACEABILITY_MATRIX.yml (conteos)
        ├── BACKEND_INVENTORY.yml (modulos)
        └── FRONTEND_INVENTORY.yml (modulos)

DATABASE_INVENTORY.yml
    ├── depende_de: (ninguno)
    └── referenciado_por:
        ├── BACKEND_INVENTORY.yml (tablas → entidades)
        └── ET-*-backend.md (DDL specs)

BACKEND_INVENTORY.yml
    ├── depende_de:
    │   ├── MASTER_INVENTORY.yml (definicion modulos)
    │   └── DATABASE_INVENTORY.yml (tablas)
    └── referenciado_por:
        ├── TRACEABILITY_MATRIX.yml (servicios)
        └── ET-*-backend.md (servicios)

FRONTEND_INVENTORY.yml
    ├── depende_de:
    │   ├── MASTER_INVENTORY.yml (definicion modulos)
    │   └── BACKEND_INVENTORY.yml (endpoints)
    └── referenciado_por:
        ├── TRACEABILITY_MATRIX.yml (pages)
        └── ET-*-frontend.md (componentes)

DEPENDENCY_GRAPH.yml
    ├── depende_de:
    │   └── MASTER_INVENTORY.yml (lista modulos)
    └── referenciado_por:
        └── (ninguno - es hoja)

TRACEABILITY_MATRIX.yml
    ├── depende_de:
    │   ├── MASTER_INVENTORY.yml (modulos)
    │   ├── BACKEND_INVENTORY.yml (servicios)
    │   └── FRONTEND_INVENTORY.yml (pages)
    └── referenciado_por:
        └── (ninguno - es hoja)

1.2 Dependencias Entre ET

ET-auth-backend.md
    ├── depende_de:
    │   ├── RF-AUTH-*.md (requerimientos)
    │   ├── DDL-SPEC-core_auth.md (DDL)
    │   └── US-MGN001-*.md (user stories)
    └── referenciado_por:
        ├── BACKEND_INVENTORY.yml
        ├── TRACEABILITY_MATRIX.yml
        └── _MAP.md (docs/)

ET-FIN-backend.md
    ├── depende_de:
    │   ├── RF-FIN-*.md (requerimientos)
    │   ├── DDL-SPEC-financial.md (DDL)
    │   └── US-MGN010-*.md (user stories)
    └── referenciado_por:
        ├── BACKEND_INVENTORY.yml
        ├── TRACEABILITY_MATRIX.yml
        └── _MAP.md (docs/)

ET-SALES-backend.md (a crear)
    ├── depende_de:
    │   ├── RF-SALES-*.md (a crear)
    │   ├── DDL-SPEC-sales.md (existente)
    │   └── US-MGN011-*.md (a crear)
    └── referenciado_por:
        ├── BACKEND_INVENTORY.yml
        ├── TRACEABILITY_MATRIX.yml
        └── _MAP.md (docs/)

1.3 Dependencias de Nomenclatura

Archivos a Renombrar:
    ET-auth-backend.md → ET-AUTH-BACKEND.md
        └── actualizar_referencias_en:
            ├── docs/_MAP.md
            ├── docs/01-fase-foundation/MGN-001-auth/_MAP.md
            ├── BACKEND_INVENTORY.yml
            └── TRACEABILITY_MATRIX.yml

    FASE-1-PLAN-COMPARACION-ODOO.md → PLAN-COMPARACION-ODOO-2025-12-XX.md
        └── actualizar_referencias_en:
            ├── orchestration/01-analisis/_MAP.md
            └── docs/_MAP.md (si existe referencia)

Directorios a Renumerar:
    orchestration/agentes/ → orchestration/06-agentes/
        └── actualizar_referencias_en:
            ├── orchestration/_MAP.md
            ├── INDICE-DIRECTIVAS-WORKSPACE.yml
            └── Archivos dentro del directorio (rutas relativas)

2. MATRIZ DE IMPACTO

2.1 Archivos de Alto Impacto

Archivo Referencias Impacto Precaucion
MASTER_INVENTORY.yml 4 archivos ALTO Corregir primero, validar dependientes
_MAP.md (docs/) ~50+ referencias ALTO Actualizar despues de renombrados
INDICE-DIRECTIVAS-WORKSPACE.yml Workspace completo ALTO Actualizar rutas de perfiles
ET-auth-backend.md 4+ referencias MEDIO Actualizar inventarios
docs/README.md Enlaces internos MEDIO Validar enlaces post-cambio

2.2 Archivos de Bajo Impacto

Archivo Referencias Impacto Notas
FASE-X-*.md 0-1 referencia BAJO Renombrar sin problema
DDL-SPEC-*.md 1-2 referencias BAJO Solo en ET correspondiente
SESSION-*.md 0 referencias BAJO Archivos historicos

3. ORDEN DE EJECUCION POR DEPENDENCIA

3.1 Bloque A (Inventarios)

ORDEN OBLIGATORIO:
1. A1: MASTER_INVENTORY.yml (corregir YAML)
   └── Razon: Es la raiz, todos dependen de el

2. A4: DEPENDENCY_GRAPH.yml (actualizar)
   └── Razon: Depende solo de MASTER

3. A5: TRACEABILITY_MATRIX.yml (actualizar)
   └── Razon: Depende de MASTER y DEPENDENCY

4. A2: BACKEND_INVENTORY.yml (completar)
   └── Razon: Depende de MASTER y DATABASE

5. A3: FRONTEND_INVENTORY.yml (completar)
   └── Razon: Depende de MASTER y BACKEND

3.2 Bloque B-C (ET)

ORDEN FLEXIBLE (pueden ser paralelas):
B1: ET-auth-backend.md
B2: ET-FIN-backend.md
C1-C8: ET verticales nuevas

Razon: Cada ET es independiente de las otras
Nota: Actualizar inventarios DESPUES de crear ETs

3.3 Bloque D (Nomenclatura)

ORDEN RECOMENDADO:
1. D2: ET mixed-case (8 archivos)
   └── Razon: Pocos archivos, referencias claras

2. D1: FASE-X (30 archivos)
   └── Razon: Sin referencias externas

3. D3: DDL-SPEC (25 archivos)
   └── Razon: Referencias en ET (ya actualizadas)

4. D4: Directorios (59 dirs)
   └── Razon: Requiere actualizar rutas internas

5. D5: Prefijos restantes (96 archivos)
   └── Razon: Ultimos, pueden tener mas referencias

3.4 Bloque E (Estructura)

ORDEN RECOMENDADO:
1. E3: Estructura modulos verticales
   └── Razon: Necesario para organizar ETs creadas

2. E1: Mover archivos huerfanos
   └── Razon: Crear directorios destino primero

3. E2: Crear _MAP.md por fase
   └── Razon: Despues de tener estructura final

4. E4: Sincronizar conteos
   └── Razon: Ultimo, despues de todos los cambios

4. ARCHIVOS DEPENDIENTES A ACTUALIZAR

4.1 Post-Renombrado ET

Despues de renombrar ET-auth-backend.md → ET-AUTH-BACKEND.md:

archivos_a_actualizar:
  - ruta: docs/_MAP.md
    buscar: "ET-auth-backend.md"
    reemplazar: "ET-AUTH-BACKEND.md"

  - ruta: docs/01-fase-foundation/MGN-001-auth/_MAP.md
    buscar: "ET-auth-backend.md"
    reemplazar: "ET-AUTH-BACKEND.md"

  - ruta: orchestration/inventarios/BACKEND_INVENTORY.yml
    buscar: "ET-auth-backend.md"
    reemplazar: "ET-AUTH-BACKEND.md"

  - ruta: orchestration/inventarios/TRACEABILITY_MATRIX.yml
    buscar: "ET-auth-backend.md"
    reemplazar: "ET-AUTH-BACKEND.md"

4.2 Post-Renumeracion Directorios

Despues de renumerar orchestration/agentes/ → orchestration/06-agentes/:

archivos_a_actualizar:
  - ruta: orchestration/_MAP.md
    buscar: "agentes/"
    reemplazar: "06-agentes/"

  - ruta: orchestration/README.md
    buscar: "agentes/"
    reemplazar: "06-agentes/"

  - ruta: orchestration/INDICE-DIRECTIVAS-WORKSPACE.yml
    buscar: "agents/perfiles/"
    reemplazar: "06-agentes/perfiles/"
    nota: "Verificar si aplica"

archivos_internos:
  - todos los archivos dentro de 06-agentes/
    actualizar: rutas relativas si existen

4.3 Post-Creacion Estructura Vertical

Despues de crear estructura para MGN-011 a MGN-018:

archivos_a_actualizar:
  - ruta: docs/_MAP.md
    accion: agregar enlaces a nuevos modulos

  - ruta: docs/03-fase-vertical/_MAP.md
    accion: crear con lista de modulos

  - ruta: MASTER_INVENTORY.yml
    accion: actualizar estado modulos (planificado → rf_documentado)

  - ruta: BACKEND_INVENTORY.yml
    accion: agregar seccion para cada modulo

  - ruta: FRONTEND_INVENTORY.yml
    accion: agregar seccion para cada modulo

5. VALIDACION DE DEPENDENCIAS

5.1 Checklist Pre-Ejecucion

## Antes de Bloque A:
- [ ] Backup de inventarios actuales
- [ ] Verificar que MASTER_INVENTORY es parseble (excepto error conocido)

## Antes de Bloque D:
- [ ] Lista completa de referencias por archivo a renombrar
- [ ] Script de busqueda de referencias preparado

## Antes de Bloque E:
- [ ] Directorios destino identificados
- [ ] Permisos de escritura verificados

5.2 Checklist Post-Ejecucion

## Despues de Bloque A:
- [ ] Todos inventarios parsean correctamente
- [ ] Conteos son consistentes entre inventarios

## Despues de Bloque D:
- [ ] Grep de nombres antiguos retorna 0 resultados
- [ ] Enlaces en _MAP.md funcionan

## Despues de Bloque E:
- [ ] Estructura de directorios es consistente
- [ ] No hay archivos huerfanos

6. RIESGOS DE DEPENDENCIA

6.1 Riesgos Identificados

Riesgo Probabilidad Impacto Mitigacion
Referencias huerfanas post-rename Media Alto Grep exhaustivo antes/despues
Inventarios con rutas invalidas Media Alto Validacion YAML post-cambio
_MAP.md con enlaces rotos Alta Medio Regenerar _MAP.md al final
Git history confuso Baja Bajo Commits atomicos por tarea

6.2 Plan de Rollback

rollback_por_bloque:
  A:
    accion: git checkout -- orchestration/inventarios/
    tiempo: 1 minuto

  B-C:
    accion: git checkout -- docs/*/especificaciones/
    tiempo: 1 minuto

  D:
    accion: git checkout -- (archivos renombrados)
    tiempo: 5 minutos (requiere lista)

  E:
    accion: git checkout -- docs/ orchestration/
    tiempo: 2 minutos

7. SCRIPTS DE SOPORTE

7.1 Script para Buscar Referencias

#!/bin/bash
# buscar-referencias.sh
# Uso: ./buscar-referencias.sh "nombre-archivo.md"

ARCHIVO=$1
echo "Buscando referencias a: $ARCHIVO"
grep -r "$ARCHIVO" \
  --include="*.md" \
  --include="*.yml" \
  --include="*.yaml" \
  /home/isem/workspace-v1/projects/erp-core/

7.2 Script para Validar Inventarios

#!/bin/bash
# validar-inventarios.sh

echo "Validando inventarios YAML..."
for f in /home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/*.yml; do
  if python3 -c "import yaml; yaml.safe_load(open('$f'))" 2>/dev/null; then
    echo "OK: $f"
  else
    echo "ERROR: $f"
  fi
done

8. CONCLUSION

8.1 Resumen de Dependencias

ARCHIVOS CON DEPENDENCIAS CRITICAS:    6
├── MASTER_INVENTORY.yml
├── BACKEND_INVENTORY.yml
├── FRONTEND_INVENTORY.yml
├── DEPENDENCY_GRAPH.yml
├── TRACEABILITY_MATRIX.yml
└── docs/_MAP.md

ARCHIVOS SIN DEPENDENCIAS:             ~195+
└── Pueden modificarse en paralelo

ORDEN DE EJECUCION:
1. Inventarios (A1 → A4 → A5 → A2 → A3)
2. ET existentes y nuevas (B, C - paralelo)
3. Nomenclatura (D2 → D1 → D3 → D4 → D5)
4. Estructura (E3 → E1 → E2 → E4)
5. Tests y mejoras (F, G - paralelo)

8.2 Dependencias Validadas

Aspecto Estado
Grafo de dependencias Mapeado
Orden de ejecucion Definido
Archivos a actualizar Listados
Riesgos identificados Mitigados
Scripts de soporte Preparados

9. APROBACION

Rol Estado Fecha
Analista COMPLETADO 2026-01-10
Usuario PENDIENTE -

Analisis de dependencias completado siguiendo CAPVED + SIMCO v3.8 Proximo paso: FASE 6 - Refinamiento del Plan