erp-core/orchestration/inventarios/README.md

122 lines
3.4 KiB
Markdown

# Inventarios - ERP Core
**Ubicacion Canonica:** `orchestration/inventarios/`
**Proyecto:** ERP Suite - erp-core
**Ultima actualizacion:** 2025-12-05
---
## Proposito
Este directorio contiene los **inventarios operacionales canonicos** del proyecto.
Todos los objetos (tablas, endpoints, componentes) deben estar registrados aqui
para evitar duplicacion y mantener trazabilidad.
---
## Inventarios Disponibles
| Archivo | Descripcion | Objetos |
|---------|-------------|---------|
| [MASTER_INVENTORY.yml](./MASTER_INVENTORY.yml) | Inventario maestro consolidado | Resumen global |
| [DATABASE_INVENTORY.yml](./DATABASE_INVENTORY.yml) | Objetos de base de datos | Schemas, tablas, funciones |
| [BACKEND_INVENTORY.yml](./BACKEND_INVENTORY.yml) | Modulos backend NestJS | Services, controllers, endpoints |
| [FRONTEND_INVENTORY.yml](./FRONTEND_INVENTORY.yml) | Componentes frontend React | Pages, components, stores |
| [DEPENDENCY_GRAPH.yml](./DEPENDENCY_GRAPH.yml) | Grafo de dependencias | Relaciones entre modulos |
| [TRACEABILITY_MATRIX.yml](./TRACEABILITY_MATRIX.yml) | Matriz de trazabilidad global | RF -> ET -> US -> Codigo |
| [SEEDS_INVENTORY.yml](./SEEDS_INVENTORY.yml) | Datos semilla | Catalogos, usuarios demo |
| [TEST_COVERAGE.yml](./TEST_COVERAGE.yml) | Cobertura de tests | Unit, integration, e2e |
---
## Uso
### Antes de crear un nuevo objeto:
1. **Verificar que no exista** en el inventario correspondiente
2. **Verificar nombre** no colisione con existentes
3. **Registrar** el nuevo objeto inmediatamente despues de crearlo
### Al modificar un objeto existente:
1. **Actualizar** el inventario con los cambios
2. **Verificar dependencias** en DEPENDENCY_GRAPH.yml
3. **Actualizar trazabilidad** si cambia RF/ET/US
### Comandos utiles:
```bash
# Buscar si una tabla existe
grep -r "table_name" orchestration/inventarios/DATABASE_INVENTORY.yml
# Buscar si un endpoint existe
grep -r "POST /api/v1/auth" orchestration/inventarios/BACKEND_INVENTORY.yml
# Ver dependencias de un modulo
grep -A 10 "module: auth" orchestration/inventarios/DEPENDENCY_GRAPH.yml
```
---
## Estructura de Archivos
```yaml
# Ejemplo DATABASE_INVENTORY.yml
schemas:
- name: core_auth
tables:
- name: users_auth
columns: [id, email, password_hash, ...]
indexes: [idx_users_email]
rls_policies: [tenant_isolation]
functions:
- name: validate_password
params: [user_id, password]
returns: boolean
```
```yaml
# Ejemplo BACKEND_INVENTORY.yml
modules:
- name: auth
path: src/modules/auth/
services:
- name: AuthService
methods: [login, logout, refresh]
controllers:
- name: AuthController
endpoints:
- method: POST
path: /api/v1/auth/login
dto: LoginDto
response: TokenResponseDto
```
---
## Responsabilidades
| Rol | Responsabilidad |
|-----|-----------------|
| Database-Agent | Mantener DATABASE_INVENTORY.yml |
| Backend-Agent | Mantener BACKEND_INVENTORY.yml |
| Frontend-Agent | Mantener FRONTEND_INVENTORY.yml |
| Architecture-Analyst | Mantener DEPENDENCY_GRAPH.yml, TRACEABILITY_MATRIX.yml |
| Requirements-Analyst | Validar trazabilidad RF -> Codigo |
---
## Validacion
Antes de cada merge a develop:
1. [ ] Todos los objetos nuevos estan en inventarios
2. [ ] No hay duplicados de nombres
3. [ ] Dependencias actualizadas
4. [ ] Trazabilidad completa
---
**Generado por:** Requirements-Analyst
**Fecha:** 2025-12-05