# TRIGGER: Inventarios Sincronizados **ID:** TRIGGER-MI-INVENTARIOS **Version:** 1.0.0 **Prioridad:** P2 (Importante) **Activacion:** Post-tarea con cambios de codigo **Hereda de:** template-saas (INTEGRATES) --- ## Proposito Mantener los inventarios del proyecto sincronizados con el codigo real. Detectar discrepancias entre lo documentado y lo implementado. ## Contexto del Proyecto MiInventario tiene estructura monorepo con: - `apps/backend/` - API NestJS - `apps/mobile/` - App React Native (Expo) - Servicios AI para procesamiento de video ## Activacion Este trigger se activa cuando: - Se completa una tarea que modifica codigo - Se ejecuta validacion manual con `@MI_VALIDATE_INVENTARIOS` - Se prepara release ## Inventarios a Validar | Inventario | Ubicacion | Valida | |------------|-----------|--------| | DATABASE_INVENTORY.yml | orchestration/inventarios/ | Schemas, tablas, enums, funciones | | BACKEND_INVENTORY.yml | orchestration/inventarios/ | Modulos, services, entities, tests | | MOBILE_INVENTORY.yml | orchestration/inventarios/ | Screens, components, navigation | | MASTER_INVENTORY.yml | orchestration/inventarios/ | Totales consolidados | ## Validaciones ### 1. DATABASE_INVENTORY.yml ```bash # Validar schemas ls database/schemas/ | wc -l # Debe coincidir con total_schemas # Validar tablas find database/schemas -name "*.sql" -path "*tables*" | wc -l ``` ### 2. BACKEND_INVENTORY.yml ```bash # Validar entities find apps/backend/src/modules -name "*.entity.ts" | wc -l # Validar services find apps/backend/src/modules -name "*.service.ts" | wc -l # Validar controllers find apps/backend/src/modules -name "*.controller.ts" | wc -l ``` ### 3. MOBILE_INVENTORY.yml ```bash # Validar screens find apps/mobile/src/screens -name "*.tsx" | wc -l # Validar components find apps/mobile/src/components -name "*.tsx" | wc -l ``` ### 4. MASTER_INVENTORY.yml ```yaml # Totales deben coincidir con suma de inventarios individuales backend_entities: sum(BACKEND_INVENTORY.entities) mobile_screens: sum(MOBILE_INVENTORY.screens) database_tables: sum(DATABASE_INVENTORY.tablas) ``` ## Resultado de Validacion ### Exito ```yaml status: "pass" inventarios: database: "sync" backend: "sync" mobile: "sync" master: "sync" discrepancias: 0 ``` ### Advertencia ```yaml status: "warning" inventarios: database: "sync" backend: "desync" mobile: "sync" master: "desync" discrepancias: - inventario: "BACKEND_INVENTORY.yml" campo: "total_entities" documentado: real: accion: "Actualizar inventario" ``` ## Acciones Correctivas 1. **Actualizar totales:** Corregir numeros en inventarios 2. **Agregar items faltantes:** Documentar nuevos artefactos 3. **Eliminar items obsoletos:** Remover referencias a codigo eliminado 4. **Actualizar MASTER:** Recalcular totales consolidados ## Referencias - `@MI_INV_MASTER` - Inventario maestro - `@MI_INV_DB` - Inventario database - `@MI_INV_BE` - Inventario backend - `@MI_INV_MOBILE` - Inventario mobile