- Move 6 non-standard folders to _archive/ - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: SUB-CONSUMER Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
282 lines
6.8 KiB
Markdown
282 lines
6.8 KiB
Markdown
# TRIGGER: INVENTARIOS SINCRONIZADOS
|
|
|
|
**Versión:** 1.0.0
|
|
**Fecha:** 2026-01-16
|
|
**Sistema:** SIMCO v4.0.0
|
|
**Alias:** @TRIGGER_INVENTARIOS
|
|
|
|
---
|
|
|
|
## RESUMEN EJECUTIVO
|
|
|
|
Este trigger OBLIGA a mantener los inventarios sincronizados con el código real. Se activa al completar cualquier tarea que modifique código o estructura.
|
|
|
|
**PRINCIPIO:** "Los inventarios son la fuente de verdad. Si no está en el inventario, no existe oficialmente."
|
|
|
|
---
|
|
|
|
## CONDICIONES DE ACTIVACIÓN
|
|
|
|
```yaml
|
|
activar_cuando:
|
|
- Se completa cualquier tarea con cambios de código
|
|
- Se crea/modifica/elimina: tabla, entity, service, módulo, componente
|
|
- Se ejecuta auditoría de proyecto
|
|
- Han pasado más de 7 días desde última sincronización
|
|
```
|
|
|
|
---
|
|
|
|
## INVENTARIOS REQUERIDOS POR PROYECTO
|
|
|
|
```yaml
|
|
inventarios_obligatorios:
|
|
DATABASE_INVENTORY.yml:
|
|
contenido:
|
|
- Lista completa de schemas
|
|
- Lista completa de tablas por schema
|
|
- Conteo de funciones, triggers, policies
|
|
- Estado de cada objeto (active/deprecated/planned)
|
|
actualizar_cuando:
|
|
- Crear/modificar/eliminar tabla
|
|
- Crear/modificar/eliminar schema
|
|
- Agregar/modificar funciones o triggers
|
|
|
|
BACKEND_INVENTORY.yml:
|
|
contenido:
|
|
- Lista completa de módulos
|
|
- Lista completa de entities por módulo
|
|
- Lista completa de services por módulo
|
|
- Conteo de endpoints por módulo
|
|
- Estado de cada objeto
|
|
actualizar_cuando:
|
|
- Crear/modificar/eliminar entity
|
|
- Crear/modificar/eliminar service
|
|
- Crear/modificar/eliminar módulo
|
|
- Agregar/modificar endpoints
|
|
|
|
FRONTEND_INVENTORY.yml:
|
|
contenido:
|
|
- Lista completa de componentes
|
|
- Lista completa de páginas
|
|
- Lista completa de hooks/stores
|
|
- Estado de cada objeto
|
|
actualizar_cuando:
|
|
- Crear/modificar/eliminar componente
|
|
- Crear/modificar/eliminar página
|
|
- Crear/modificar/eliminar hook/store
|
|
|
|
MASTER_INVENTORY.yml:
|
|
contenido:
|
|
- Resumen de todos los inventarios
|
|
- Totales consolidados
|
|
- Última fecha de sincronización
|
|
- Score de coherencia
|
|
actualizar_cuando:
|
|
- Se actualiza cualquier otro inventario
|
|
```
|
|
|
|
---
|
|
|
|
## VERIFICACIONES DE SINCRONIZACIÓN
|
|
|
|
### 1. Verificar Cobertura de Inventarios
|
|
|
|
```yaml
|
|
cobertura_minima:
|
|
DATABASE_INVENTORY:
|
|
schemas: "100% de schemas en DDL"
|
|
tablas: "100% de tablas en DDL"
|
|
funciones: "100% de funciones en DDL"
|
|
|
|
BACKEND_INVENTORY:
|
|
modulos: "100% de carpetas en modules/"
|
|
entities: "100% de archivos .entity.ts"
|
|
services: "100% de archivos .service.ts"
|
|
|
|
FRONTEND_INVENTORY:
|
|
componentes: "100% de archivos .tsx en components/"
|
|
paginas: "100% de archivos en pages/"
|
|
stores: "100% de stores/hooks"
|
|
```
|
|
|
|
### 2. Verificar Consistencia de Conteos
|
|
|
|
```yaml
|
|
validacion_conteos:
|
|
comparar:
|
|
- "Conteo en inventario vs archivos reales"
|
|
- "Conteo reportado en _INDEX.yml vs inventario"
|
|
- "Conteo entre inventarios relacionados"
|
|
|
|
tolerancia: "0% - Debe ser exacto"
|
|
|
|
si_discrepancia:
|
|
accion: "BLOQUEAR hasta sincronizar"
|
|
```
|
|
|
|
### 3. Verificar Actualización Reciente
|
|
|
|
```yaml
|
|
frescura:
|
|
maxima_antiguedad: "7 días"
|
|
|
|
verificar:
|
|
- "Fecha de última actualización en inventario"
|
|
- "Comparar con fecha de último commit en código"
|
|
|
|
si_desactualizado:
|
|
accion: "ADVERTIR y solicitar sincronización"
|
|
```
|
|
|
|
---
|
|
|
|
## PROCESO DE SINCRONIZACIÓN
|
|
|
|
### Sincronización Manual
|
|
|
|
```bash
|
|
# El agente debe ejecutar para cada inventario:
|
|
|
|
# 1. Contar objetos reales
|
|
find apps/database/ddl -name "*.sql" -exec grep -l "CREATE TABLE" {} \; | wc -l
|
|
find apps/backend/src/modules -name "*.entity.ts" | wc -l
|
|
find apps/backend/src/modules -name "*.service.ts" | wc -l
|
|
|
|
# 2. Comparar con inventario
|
|
# 3. Actualizar inventario si hay discrepancia
|
|
# 4. Actualizar timestamp de sincronización
|
|
```
|
|
|
|
### Campos Obligatorios en Inventarios
|
|
|
|
```yaml
|
|
metadata_obligatoria:
|
|
version: "Semver del inventario"
|
|
updated: "Fecha ISO de última actualización"
|
|
updated_by: "Agente que actualizó"
|
|
sync_status: "SYNCED | OUT_OF_SYNC | PARTIAL"
|
|
coverage:
|
|
total_expected: "N objetos esperados"
|
|
total_documented: "N objetos documentados"
|
|
percentage: "100%"
|
|
```
|
|
|
|
---
|
|
|
|
## CHECKLIST DE SINCRONIZACIÓN
|
|
|
|
### Al Completar Tarea
|
|
|
|
```markdown
|
|
## Verificación de Inventarios
|
|
|
|
### DATABASE_INVENTORY.yml
|
|
[ ] Conteo de schemas correcto
|
|
[ ] Conteo de tablas correcto
|
|
[ ] Nuevos objetos agregados
|
|
[ ] Objetos eliminados removidos
|
|
[ ] Timestamp actualizado
|
|
|
|
### BACKEND_INVENTORY.yml
|
|
[ ] Conteo de módulos correcto
|
|
[ ] Conteo de entities correcto
|
|
[ ] Conteo de services correcto
|
|
[ ] Conteo de endpoints correcto
|
|
[ ] Nuevos objetos agregados
|
|
[ ] Timestamp actualizado
|
|
|
|
### FRONTEND_INVENTORY.yml
|
|
[ ] Conteo de componentes correcto
|
|
[ ] Conteo de páginas correcto
|
|
[ ] Nuevos objetos agregados
|
|
[ ] Timestamp actualizado
|
|
|
|
### MASTER_INVENTORY.yml
|
|
[ ] Totales consolidados correctos
|
|
[ ] Score de coherencia actualizado
|
|
[ ] Timestamp actualizado
|
|
```
|
|
|
|
---
|
|
|
|
## INTEGRACIÓN CON TRIGGER-COHERENCIA-CAPAS
|
|
|
|
```yaml
|
|
secuencia:
|
|
1: "TRIGGER-COHERENCIA-CAPAS verifica estructura"
|
|
2: "TRIGGER-INVENTARIOS-SINCRONIZADOS verifica documentación"
|
|
3: "TRIGGER-DOCUMENTACION-OBLIGATORIA verifica gobernanza"
|
|
|
|
dependencia:
|
|
- "Coherencia debe pasar ANTES de sincronizar inventarios"
|
|
- "Inventarios deben estar sincronizados ANTES de documentar"
|
|
```
|
|
|
|
---
|
|
|
|
## MENSAJES DE ERROR
|
|
|
|
```yaml
|
|
errores:
|
|
E-INV-001:
|
|
mensaje: "Inventario desactualizado (más de 7 días)"
|
|
accion: "Ejecutar sincronización de inventario"
|
|
bloqueante: false (advertencia)
|
|
|
|
E-INV-002:
|
|
mensaje: "Discrepancia de conteo en inventario"
|
|
accion: "Sincronizar inventario con código real"
|
|
bloqueante: true
|
|
|
|
E-INV-003:
|
|
mensaje: "Objeto en código no documentado en inventario"
|
|
accion: "Agregar objeto al inventario"
|
|
bloqueante: true
|
|
|
|
E-INV-004:
|
|
mensaje: "Objeto en inventario no existe en código"
|
|
accion: "Remover objeto del inventario o restaurar código"
|
|
bloqueante: true
|
|
|
|
E-INV-005:
|
|
mensaje: "Inventario faltante"
|
|
accion: "Crear inventario siguiendo template"
|
|
bloqueante: true
|
|
```
|
|
|
|
---
|
|
|
|
## AUTOMATIZACIÓN FUTURA
|
|
|
|
```yaml
|
|
scripts_recomendados:
|
|
sync-database-inventory:
|
|
descripcion: "Sincronizar DATABASE_INVENTORY.yml automáticamente"
|
|
implementar_en: "scripts/sync-inventories.sh"
|
|
|
|
sync-backend-inventory:
|
|
descripcion: "Sincronizar BACKEND_INVENTORY.yml automáticamente"
|
|
implementar_en: "scripts/sync-inventories.sh"
|
|
|
|
validate-inventories:
|
|
descripcion: "Validar que todos los inventarios estén sincronizados"
|
|
implementar_en: "scripts/validate-inventories.sh"
|
|
|
|
estado: "DOCUMENTADO - Por implementar"
|
|
```
|
|
|
|
---
|
|
|
|
## REFERENCIAS
|
|
|
|
| Alias | Descripción |
|
|
|-------|-------------|
|
|
| @TRIGGER_INVENTARIOS | Este trigger |
|
|
| @TRIGGER_COHERENCIA | Coherencia entre capas |
|
|
| @DEF_CHK_POST | Checklist post-tarea |
|
|
|
|
---
|
|
|
|
**Versión:** 1.0.0 | **Sistema:** SIMCO v4.0.0 | **Tipo:** Trigger de Sincronización
|