# 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