- Move 7 non-standard folders to _archive/ - Archive 3 extra root files - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: CONSUMER (L2) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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