- 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>
142 lines
3.4 KiB
Markdown
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
|