# 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`: ```yaml 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/`: ```yaml 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: ```yaml 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 ```markdown ## 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 ```markdown ## 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 ```yaml 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 ```bash #!/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 ```bash #!/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*