michangarrito/orchestration/directivas/proyecto-triggers/TRIGGER-INVENTARIOS.md
rckrdmrd e046ba8143 [MICHANGARRITO] feat: Add SaaS documentation structure from template-saas
- Add orchestration/directivas/ with proyecto-triggers
  - TRIGGER-COHERENCIA-CAPAS.md for DDL/Backend coherence
  - TRIGGER-INVENTARIOS.md for inventory synchronization
- Add orchestration/agents/ with perfiles
  - PERFIL-DDL-AGENT.md
  - PERFIL-BACKEND-AGENT.md
  - PERFIL-FRONTEND-AGENT.md
  - PERFIL-MOBILE-AGENT.md (specific to mobile POS)
- Add MAPA-DOCUMENTACION.yml as central reference

Inheritance: INTEGRATES from template-saas

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 19:45:42 -06:00

142 lines
3.4 KiB
Markdown

# TRIGGER: Inventarios Sincronizados
**ID:** TRIGGER-MC-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
MiChangarrito tiene estructura monorepo con:
- `apps/backend/` - API NestJS
- `apps/frontend/` - Web React
- `apps/mobile/` - React Native
- `apps/whatsapp-service/` - Integracion WhatsApp
- `apps/mcp-server/` - Servidor MCP para LLM
## Activacion
Este trigger se activa cuando:
- Se completa una tarea que modifica codigo
- Se ejecuta validacion manual con `@MC_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 |
| FRONTEND_INVENTORY.yml | orchestration/inventarios/ | Pages, components, hooks |
| 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. FRONTEND_INVENTORY.yml
```bash
# Validar pages
find apps/frontend/src/pages -name "*.tsx" | wc -l
# Validar components
find apps/frontend/src/components -name "*.tsx" | wc -l
```
### 4. 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
```
### 5. MASTER_INVENTORY.yml
```yaml
# Totales deben coincidir con suma de inventarios individuales
backend_entities: sum(BACKEND_INVENTORY.entities)
frontend_pages: sum(FRONTEND_INVENTORY.pages)
mobile_screens: sum(MOBILE_INVENTORY.screens)
database_tables: sum(DATABASE_INVENTORY.tablas)
```
## Resultado de Validacion
### Exito
```yaml
status: "pass"
inventarios:
database: "sync"
backend: "sync"
frontend: "sync"
mobile: "sync"
master: "sync"
discrepancias: 0
```
### Advertencia
```yaml
status: "warning"
inventarios:
database: "sync"
backend: "desync"
frontend: "sync"
mobile: "sync"
master: "desync"
discrepancias:
- inventario: "BACKEND_INVENTORY.yml"
campo: "total_entities"
documentado: <doc>
real: <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
- `@MC_INV_MASTER` - Inventario maestro
- `@MC_INV_DB` - Inventario database
- `@MC_INV_BE` - Inventario backend
- `@MC_INV_FE` - Inventario frontend
- `@MC_INV_MOBILE` - Inventario mobile