michangarrito/orchestration/analisis/F5-DEPENDENCIAS-INTEGRIDAD-2026-01-10.md
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

8.6 KiB

FASE 5: ANALISIS DE DEPENDENCIAS

Archivos Afectados y sus Relaciones

Version: 1.0.0 Fecha: 2026-01-10 Ejecutado por: Agente Orquestador (PERFIL-ORQUESTADOR) Sistema: SIMCO v3.8.0 + CAPVED


1. GRAFO DE DEPENDENCIAS

┌─────────────────────────────────────────────────────────────────────────┐
│                        ARCHIVOS A MODIFICAR                             │
└─────────────────────────────────────────────────────────────────────────┘

DATABASE_INVENTORY.yml ─────────────────────────────────────────────────┐
    │                                                                    │
    │ (sin dependencias)                                                 │
    │                                                                    │
    ▼                                                                    │
  MASTER_INVENTORY.yml ◄─────────── (referencia totales)                │
                                                                         │
                                                                         │
BACKEND_INVENTORY.yml ──────────────────────────────────────────────────┤
    │                                                                    │
    │ (sin dependencias)                                                 │
    │                                                                    │
    ▼                                                                    │
  MASTER_INVENTORY.yml ◄─────────── (referencia totales)                │
                                                                         │
                                                                         │
supplier-favorites.entity.ts (NUEVO) ───────────────────────────────────┤
    │                                                                    │
    │ depende de:                                                        │
    │   └── supplier.entity.ts (ManyToOne)                              │
    │                                                                    │
    ▼                                                                    │
  marketplace.module.ts                                                  │
    │                                                                    │
    │ importa:                                                           │
    │   └── supplier-favorites.entity.ts                                │
    │                                                                    │
    ▼                                                                    │
  BACKEND_INVENTORY.yml ◄─────────── (lista entidades)                  │
                                                                         │
└────────────────────────────────────────────────────────────────────────┘

2. ANALISIS POR ARCHIVO

2.1 DATABASE_INVENTORY.yml

Ruta: orchestration/inventarios/DATABASE_INVENTORY.yml

Aspecto Valor
Dependencias entrantes MASTER_INVENTORY.yml (referencia)
Dependencias salientes Ninguna
Archivos que lo importan Ninguno
Archivos que importa Ninguno

Impacto del cambio:

  • Bajo: Solo correccion de documentacion
  • No afecta codigo ejecutable
  • Puede requerir actualizacion de MASTER_INVENTORY.yml

2.2 BACKEND_INVENTORY.yml

Ruta: orchestration/inventarios/BACKEND_INVENTORY.yml

Aspecto Valor
Dependencias entrantes MASTER_INVENTORY.yml (referencia)
Dependencias salientes Ninguna
Archivos que lo importan Ninguno
Archivos que importa Ninguno

Impacto del cambio:

  • Bajo: Solo correccion de documentacion
  • No afecta codigo ejecutable
  • Puede requerir actualizacion de MASTER_INVENTORY.yml

2.3 supplier-favorites.entity.ts (NUEVO)

Ruta: apps/backend/src/modules/marketplace/entities/supplier-favorites.entity.ts

Aspecto Valor
Dependencias entrantes marketplace.module.ts (import)
Dependencias salientes supplier.entity.ts (ManyToOne)
Archivos que lo importan marketplace.module.ts
Archivos que importa typeorm, supplier.entity.ts

Impacto del cambio:

  • Medio: Agrega nueva entity al sistema
  • Requiere registro en module
  • Requiere build verificacion

2.4 marketplace.module.ts

Ruta: apps/backend/src/modules/marketplace/marketplace.module.ts

Aspecto Valor
Dependencias entrantes app.module.ts (import)
Dependencias salientes Todas las entities de marketplace
Estado actual 5 entities registradas
Estado requerido 6 entities (agregar SupplierFavorites)

Contenido actual:

TypeOrmModule.forFeature([
  Supplier,
  SupplierProduct,
  SupplierOrder,
  SupplierOrderItem,
  SupplierReview,
  // Falta: SupplierFavorites
]),

3. ORDEN DE MODIFICACION

Basado en Dependencias

1. DATABASE_INVENTORY.yml     (independiente)
2. supplier.entity.ts         (ya existe, no modificar)
3. supplier-favorites.entity.ts (depende de #2)
4. marketplace.module.ts      (depende de #3)
5. BACKEND_INVENTORY.yml      (depende de #3, #4)
6. MASTER_INVENTORY.yml       (opcional, depende de #1, #5)

Orden Optimizado (paralelo donde sea posible)

PARALELO 1:
├── DATABASE_INVENTORY.yml    ─┐
└── supplier-favorites.entity.ts ─┤
                                  │
SECUENCIAL 2:                     │
└── marketplace.module.ts    ◄────┘

PARALELO 3:
├── BACKEND_INVENTORY.yml
└── Verificar build

4. ARCHIVOS DEPENDIENTES NO MODIFICADOS

Verificacion de Impacto

Archivo Dependencia Impacto Accion
app.module.ts marketplace.module.ts Ninguno No modificar
supplier.entity.ts ninguna Ninguno No modificar
marketplace.service.ts entities Potencial Verificar
marketplace.controller.ts service Ninguno No modificar

marketplace.service.ts

Este servicio podria necesitar metodos para manejar favoritos si se desea funcionalidad completa:

Metodo Potencial Necesario Ahora
addFavorite() NO - entity existe para futuro
removeFavorite() NO - entity existe para futuro
getFavorites() NO - entity existe para futuro

Decision: La entity se crea para completitud con la BD. Los metodos del servicio se agregaran cuando se implemente la funcionalidad.


5. VERIFICACIONES POST-CAMBIO

Build Backend

cd apps/backend && npm run build

Posibles errores:

  • Import no encontrado: Verificar path de entity
  • Schema no definido: Verificar decorador @Entity
  • Relacion no encontrada: Verificar ManyToOne a Supplier

TypeORM

TypeORM con autoLoadEntities: true detectara automaticamente la nueva entity si esta en el array forFeature del module.


6. TABLA RESUMEN DE DEPENDENCIAS

Archivo Depende De Es Dependencia De Nivel
DATABASE_INVENTORY.yml - MASTER_INVENTORY 0
supplier.entity.ts typeorm supplier-favorites 0
supplier-favorites.entity.ts supplier.entity marketplace.module 1
marketplace.module.ts entities app.module 2
BACKEND_INVENTORY.yml - MASTER_INVENTORY 0
MASTER_INVENTORY.yml inventarios - 3

7. CONCLUSION

Complejidad de Dependencias: BAJA

  • Los inventarios son independientes
  • La nueva entity tiene una sola dependencia (Supplier)
  • El module solo requiere agregar un import

Riesgo de Impacto: BAJO

  • Cambios de documentacion no afectan runtime
  • Nueva entity no rompe funcionalidad existente
  • TypeORM maneja lazy loading de entities

Documento generado: 2026-01-10 Agente: Orquestador (PERFIL-ORQUESTADOR) Sistema: SIMCO v3.8.0 + CAPVED Proxima Fase: F6 - Refinamiento del Plan