workspace-v1/orchestration/directivas/simco/SIMCO-INVENTARIOS.md
rckrdmrd 3a8a459d91 [SIMCO-V38] feat: Implementar sistema SIMCO v3.8.0 completo
## Directivas SIMCO v3.7.0 - Estandarizacion de Documentacion (7)
- SIMCO-DOCUMENTACION-PROYECTO.md
- SIMCO-NOMENCLATURA.md
- SIMCO-ESTRUCTURA-DOCS.md
- SIMCO-INVENTARIOS.md
- SIMCO-TESTING.md
- SIMCO-MIGRACIONES-BD.md
- SIMCO-INTEGRACIONES-EXTERNAS.md

## Directivas SIMCO v3.8.0 - Mantenimiento de Documentacion (2)
- SIMCO-MANTENIMIENTO-DOCUMENTACION.md
- SIMCO-SINCRONIZACION-BD.md

## Templates (4)
- TEMPLATE-INVENTARIO-PROYECTO.md
- TEMPLATE-INTEGRACION-EXTERNA.md
- TEMPLATE-MODULO-ESTANDAR.md
- TEMPLATE-DEPRECACION.md

## Checklists (6)
- CHECKLIST-DOCUMENTACION-PROYECTO.md
- CHECKLIST-INVENTARIOS.md
- CHECKLIST-NOMENCLATURA.md
- CHECKLIST-MANTENIMIENTO-DOCS.md
- CHECKLIST-SINCRONIZACION-BD.md
- _MAP.md

## Perfil de Agente (1)
- PERFIL-DOCUMENTATION-MAINTAINER.md

## Indices
- INDICE-DIRECTIVAS-WORKSPACE.yml actualizado a v3.8.0

## Submodulos actualizados (14)
- gamilit, erp-core, michangarrito, template-saas
- erp-suite, erp-construccion, erp-clinicas
- erp-mecanicas-diesel, erp-retail, erp-vidrio-templado
- trading-platform, betting-analytics
- inmobiliaria-analytics, platform_marketing_content

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:55:15 -06:00

8.2 KiB

SIMCO-INVENTARIOS

Version: 1.0.0 Tipo: Directiva Operacional Prioridad: P1 Alias: @INVENTARIOS Creado: 2026-01-10 Depende de: SIMCO-DOCUMENTACION-PROYECTO.md


1. Proposito

Estandarizar los inventarios YAML como Single Source of Truth (SSOT) para el estado de proyectos, bases de datos, backend y frontend.


2. Principios de Inventarios

2.1 Single Source of Truth (SSOT)

Los inventarios son LA fuente canonica de:

  • Estado del proyecto
  • Progreso de desarrollo
  • Estructura de base de datos
  • Modulos implementados
  • Paginas/Componentes del frontend

2.2 Actualizacion Continua

  • Actualizar despues de cada cambio significativo
  • Incluir timestamp de actualizacion
  • Mantener version semantica

3. Tipos de Inventarios

3.1 MASTER_INVENTORY.yml

Proposito: Estado consolidado del proyecto completo

Ubicacion: /orchestration/inventarios/MASTER_INVENTORY.yml

# MASTER_INVENTORY.yml
metadata:
  proyecto: "{nombre_proyecto}"
  tipo: "{Standalone|Suite|Suite-Core|Vertical}"
  version: "{SEMVER}"
  updated: "{YYYY-MM-DD}"

resumen:
  progreso_mvp: "{N}%"
  story_points_completados: {N}
  story_points_totales: {N}
  tareas_completadas: {N}
  tareas_totales: {N}
  cobertura_tests: "{N}%"

fases:
  - nombre: "Fase {N} - {Nombre}"
    codigo: "{CODIGO}"
    estado: "{completado|en_progreso|pendiente}"
    progreso: "{N}%"
    fecha_inicio: "{YYYY-MM-DD}"
    fecha_fin: "{YYYY-MM-DD}"
    epicas: {N}

epicas:
  - codigo: "{EAI-NNN|MGN-NNN}"
    nombre: "{nombre}"
    fase: "{N}"
    estado: "{completado|en_progreso|pendiente}"
    progreso: "{N}%"
    story_points: {N}
    stories: {N}

aplicaciones:
  backend:
    - servicio: "{nombre}"
      ruta: "{ruta/relativa}"
      puerto: {N}
      estado: "{activo|inactivo|desarrollo}"
      framework: "{NestJS|Express|FastAPI}"
  frontend:
    - servicio: "{nombre}"
      ruta: "{ruta/relativa}"
      puerto: {N}
      estado: "{activo|inactivo|desarrollo}"
      framework: "{React|Next.js|Vue}"
  database:
    - nombre: "{nombre_bd}"
      tipo: "{PostgreSQL|MySQL|MongoDB}"
      schemas: {N}
      estado: "{activo|inactivo}"

integraciones:
  - nombre: "{nombre_integracion}"
    proveedor: "{proveedor}"
    estado: "{activo|configurado|pendiente}"

3.2 DATABASE_INVENTORY.yml

Proposito: Estado detallado de la base de datos

Ubicacion: /orchestration/inventarios/DATABASE_INVENTORY.yml

# DATABASE_INVENTORY.yml
metadata:
  proyecto: "{nombre_proyecto}"
  tipo: "DATABASE"
  version: "{SEMVER}"
  updated: "{YYYY-MM-DD}"
  motor: "{PostgreSQL|MySQL}"
  version_motor: "{version}"

resumen:
  total_schemas: {N}
  total_tablas: {N}
  total_funciones: {N}
  total_triggers: {N}
  total_indices: {N}

schemas:
  - nombre: "{schema_name}"
    descripcion: "{descripcion}"
    estado: "{implementado|parcial|pendiente}"
    tablas:
      - nombre: "{tabla}"
        columnas: {N}
        indices: {N}
        foreign_keys: {N}
        estado: "{implementada|pendiente}"
        rls: {true|false}

    # Funciones (agregado por validacion)
    funciones:
      - nombre: "{nombre_funcion}"
        tipo: "{scalar|table|trigger}"
        parametros: {N}
        descripcion: "{descripcion}"

    # Triggers (agregado por validacion)
    triggers:
      - nombre: "{nombre_trigger}"
        tabla: "{tabla_asociada}"
        evento: "{INSERT|UPDATE|DELETE|TRUNCATE}"
        timing: "{BEFORE|AFTER|INSTEAD OF}"
        funcion: "{nombre_funcion}"

vistas:
  - nombre: "{nombre_vista}"
    schema: "{schema}"
    dependencias: ["{tabla1}", "{tabla2}"]

migraciones:
  ultima: "{YYYYMMDDHHMMSS}"
  pendientes: {N}
  historial:
    - id: "{YYYYMMDDHHMMSS}"
      descripcion: "{descripcion}"
      fecha: "{YYYY-MM-DD}"

3.3 BACKEND_INVENTORY.yml

Proposito: Estado de modulos del backend

Ubicacion: /orchestration/inventarios/BACKEND_INVENTORY.yml

# BACKEND_INVENTORY.yml
metadata:
  proyecto: "{nombre_proyecto}"
  tipo: "BACKEND"
  version: "{SEMVER}"
  updated: "{YYYY-MM-DD}"
  framework: "{NestJS|Express|FastAPI}"
  lenguaje: "{TypeScript|Python}"

resumen:
  total_modulos: {N}
  total_controllers: {N}
  total_services: {N}
  total_endpoints: {N}
  cobertura_tests: "{N}%"

modulos:
  - nombre: "{nombre_modulo}"
    ruta: "{src/modules/nombre}"
    estado: "{implementado|parcial|pendiente}"
    controllers: {N}
    services: {N}
    dtos: {N}
    entities: {N}
    endpoints:
      - metodo: "{GET|POST|PUT|DELETE|PATCH}"
        ruta: "/api/{recurso}"
        descripcion: "{descripcion}"
        auth: {true|false}
        roles: ["{rol1}", "{rol2}"]

shared:
  - tipo: "{constants|dto|guards|pipes|decorators}"
    archivos: {N}
    ruta: "{src/shared/tipo}"

tests:
  unit:
    archivos: {N}
    cobertura: "{N}%"
  integration:
    archivos: {N}
    cobertura: "{N}%"
  e2e:
    archivos: {N}

3.4 FRONTEND_INVENTORY.yml

Proposito: Estado de paginas y componentes frontend

Ubicacion: /orchestration/inventarios/FRONTEND_INVENTORY.yml

# FRONTEND_INVENTORY.yml
metadata:
  proyecto: "{nombre_proyecto}"
  tipo: "FRONTEND"
  version: "{SEMVER}"
  updated: "{YYYY-MM-DD}"
  framework: "{React|Next.js|Vue}"
  lenguaje: "{TypeScript|JavaScript}"

resumen:
  total_paginas: {N}
  total_componentes: {N}
  total_hooks: {N}
  total_stores: {N}
  cobertura_tests: "{N}%"

aplicaciones:
  - nombre: "{nombre_app}"  # admin, student, teacher, etc.
    ruta: "{apps/frontend-nombre}"
    puerto: {N}
    paginas:
      - nombre: "{NombrePagina}"
        ruta: "/{ruta}"
        componentes: {N}
        estado: "{implementada|parcial|pendiente}"
        auth: {true|false}
        roles: ["{rol1}", "{rol2}"]

componentes:
  shared:
    - nombre: "{NombreComponente}"
      ruta: "{components/shared/Nombre}"
      tipo: "{UI|Layout|Form|Data}"
      reutilizable: {true|false}

  features:
    - nombre: "{NombreComponente}"
      feature: "{feature_name}"
      ruta: "{components/features/feature/Nombre}"

hooks:
  - nombre: "{useNombreHook}"
    ruta: "{hooks/useNombreHook}"
    proposito: "{descripcion}"

stores:
  - nombre: "{nombreStore}"
    ruta: "{stores/nombreStore}"
    tipo: "{Zustand|Redux|Context}"

tests:
  unit:
    archivos: {N}
    cobertura: "{N}%"
  component:
    archivos: {N}
    cobertura: "{N}%"

4. Campos Obligatorios

Por Tipo de Inventario

Campo MASTER DATABASE BACKEND FRONTEND
metadata.proyecto SI SI SI SI
metadata.tipo SI SI SI SI
metadata.version SI SI SI SI
metadata.updated SI SI SI SI
resumen SI SI SI SI
fases SI NO NO NO
schemas NO SI NO NO
modulos NO NO SI NO
paginas NO NO NO SI

5. Actualizacion y Mantenimiento

5.1 Cuando Actualizar

Evento Inventario Accion
Nueva tabla creada DATABASE Agregar entrada
Endpoint implementado BACKEND Actualizar modulo
Pagina completada FRONTEND Cambiar estado
Fase completada MASTER Actualizar progreso
Sprint finalizado MASTER Recalcular metricas

5.2 Formato de Version

{MAJOR}.{MINOR}.{PATCH}

- MAJOR: Cambio estructural del inventario
- MINOR: Nuevas secciones agregadas
- PATCH: Actualizacion de datos

5.3 Historial de Cambios

Incluir en el inventario:

changelog:
  - version: "1.2.3"
    fecha: "2026-01-10"
    cambios:
      - "Agregado modulo auth"
      - "Actualizado progreso fase 2"

6. Validacion de Inventarios

6.1 Checklist de Validacion

Ver: CHECKLIST-INVENTARIOS.md

6.2 Comandos de Verificacion

# Validar YAML syntax
yamllint orchestration/inventarios/*.yml

# Verificar que existen todos los inventarios
ls -la orchestration/inventarios/

# Contar elementos
grep -c "nombre:" orchestration/inventarios/MASTER_INVENTORY.yml

7. Template

Para crear nuevos inventarios, usar:

Ver: TEMPLATE-INVENTARIO-PROYECTO.md

8. Referencias

Directiva Proposito
SIMCO-DOCUMENTACION-PROYECTO.md Estructura general
CHECKLIST-INVENTARIOS.md Validacion
TEMPLATE-INVENTARIO-PROYECTO.md Template

Ultima actualizacion: 2026-01-10 Mantenido por: Orchestration Team