workspace-v1/orchestration/directivas/simco/SIMCO-DOCUMENTAR.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

11 KiB

SIMCO: DOCUMENTAR

Versión: 1.0.0 Fecha: 2025-12-08 Aplica a: TODO agente al completar cualquier tarea Prioridad: OBLIGATORIA


RESUMEN EJECUTIVO

"Si no está documentado, no existe." Toda tarea debe actualizar inventarios, trazas y documentación relevante.


PRINCIPIO FUNDAMENTAL

╔══════════════════════════════════════════════════════════════════════╗
║  DOCUMENTACIÓN PRIMERO, IMPLEMENTACIÓN DESPUÉS                       ║
║                                                                       ║
║  1. Verificar docs/ existente ANTES de implementar                   ║
║  2. Actualizar docs/ si hay cambios de diseño                        ║
║  3. Implementar código                                                ║
║  4. Actualizar inventarios y trazas DESPUÉS de implementar           ║
╚══════════════════════════════════════════════════════════════════════╝

CHECKLIST DE DOCUMENTACIÓN

AL INICIAR TAREA
├── [ ] 1. Leer documentación existente en @DOCS
├── [ ] 2. Verificar si hay especificaciones relacionadas
└── [ ] 3. Identificar si docs/ necesita actualización

DURANTE IMPLEMENTACIÓN
├── [ ] 4. Documentar inline (comentarios, JSDoc, COMMENT ON)
└── [ ] 5. Actualizar docs/ si el diseño cambia

AL COMPLETAR TAREA
├── [ ] 6. Actualizar inventario correspondiente (@INVENTORY)
├── [ ] 7. Actualizar traza correspondiente (@TRAZA_*)
├── [ ] 8. Actualizar @PROXIMA con siguiente paso
└── [ ] 9. Generar reporte de entrega (si aplica)

TIPOS DE DOCUMENTACIÓN

1. Documentación Inline (en código)

SQL - COMMENT ON:

-- Comentar tabla
COMMENT ON TABLE {schema}.{tabla} IS
    '{Descripción de la tabla y su propósito}';

-- Comentar columnas importantes
COMMENT ON COLUMN {schema}.{tabla}.{columna} IS
    '{Descripción de la columna, valores válidos, restricciones}';

TypeScript - JSDoc/TSDoc:

/**
 * {NombreClase} - {descripción breve}
 *
 * @description {descripción detallada del propósito}
 * @example
 * ```typescript
 * const service = new UserService();
 * await service.findOne('uuid');
 * ```
 */
export class UserService {
    /**
     * Busca un usuario por ID
     *
     * @param id - UUID del usuario
     * @returns Usuario encontrado
     * @throws NotFoundException si no existe
     */
    async findOne(id: string): Promise<UserEntity> {
        // ...
    }
}

React - Documentación de Props:

/**
 * UserProfile - Muestra información del perfil de usuario
 *
 * @component
 * @example
 * ```tsx
 * <UserProfile userId="123" showAvatar={true} />
 * ```
 */
interface UserProfileProps {
    /** ID único del usuario */
    userId: string;
    /** Si mostrar avatar o no */
    showAvatar?: boolean;
    /** Callback cuando se actualiza el perfil */
    onUpdate?: (user: User) => void;
}

2. Inventarios (@INVENTORY)

Ubicación: orchestration/inventarios/MASTER_INVENTORY.yml

Estructura para Database:

database:
  schemas:
    {schema_name}:
      status: "✅ Completo" | "🔄 En Progreso" | "📋 Planificado"
      tables:
        - name: {nombre_tabla}
          file: "@DDL/{schema}/tables/{archivo}.sql"
          descripcion: "{descripción breve}"
          columnas: {N}
          indexes: {N}
          constraints:
            fk: {N}
            check: {N}
            unique: {N}
          triggers: {N}
          rls_policies: {N}
          relaciones:
            - tabla: "{schema}.{tabla_relacionada}"
              tipo: "FK"
              columna: "{columna}"
          created_by: "{Agente}"
          fecha_creacion: "{YYYY-MM-DD}"
          last_modified: "{YYYY-MM-DD}"
          status: "✅ Completo"

Estructura para Backend:

backend:
  modules:
    {nombre_modulo}:
      status: "✅ Completo" | "🔄 En Progreso"
      entities:
        - name: "{NombreEntity}"
          file: "@BACKEND/{modulo}/entities/{archivo}.ts"
          related_table: "{schema}.{tabla}"
          status: "✅ Completo"

      services:
        - name: "{NombreService}"
          file: "@BACKEND/{modulo}/services/{archivo}.ts"
          methods: [{lista de métodos}]
          status: "✅ Completo"

      controllers:
        - name: "{NombreController}"
          file: "@BACKEND/{modulo}/controllers/{archivo}.ts"
          endpoints:
            - method: "GET"
              path: "/api/{recurso}"
              descripcion: "{descripción}"
            - method: "POST"
              path: "/api/{recurso}"
              descripcion: "{descripción}"
          status: "✅ Completo"

      dto:
        - name: "{NombreDto}"
          file: "@BACKEND/{modulo}/dto/{archivo}.ts"
          tipo: "create" | "update" | "response"
          status: "✅ Completo"

Estructura para Frontend:

frontend:
  apps:
    {nombre_app}:
      status: "✅ Completo" | "🔄 En Progreso"
      pages:
        - name: "{NombrePage}"
          file: "@FRONTEND/{app}/pages/{archivo}.tsx"
          ruta: "/{path}"
          status: "✅ Completo"

      components:
        - name: "{NombreComponente}"
          file: "@FRONTEND/{app}/components/{archivo}.tsx"
          tipo: "ui" | "form" | "layout" | "feature"
          status: "✅ Completo"

      hooks:
        - name: "use{Nombre}"
          file: "@FRONTEND/{app}/hooks/{archivo}.ts"
          descripcion: "{descripción}"
          status: "✅ Completo"

3. Trazas (@TRAZA_*)

Ubicación por capa:

  • Database: @TRAZA_DBorchestration/trazas/TRAZA-TAREAS-DATABASE.md
  • Backend: @TRAZA_BEorchestration/trazas/TRAZA-TAREAS-BACKEND.md
  • Frontend: @TRAZA_FEorchestration/trazas/TRAZA-TAREAS-FRONTEND.md

Formato de entrada:

## [{TASK-ID}] {Descripción breve de la tarea}

**Fecha:** {YYYY-MM-DD HH:MM}
**Estado:** ✅ Completado | 🔄 En Progreso | ❌ Bloqueado
**Agente:** {Nombre-Agente}
**Duración:** {X}h (estimado: {Y}h)

### Descripción
{Descripción detallada de lo que se hizo}

### Archivos Creados
- `{ruta_completa_1}`
- `{ruta_completa_2}`

### Archivos Modificados
- `{ruta_completa_1}` - {descripción del cambio}
- `{ruta_completa_2}` - {descripción del cambio}

### Especificaciones Implementadas
- **{Elemento 1}:** {detalle}
- **{Elemento 2}:** {detalle}

### Validaciones Ejecutadas
- [x] Build: ✅ Pasa
- [x] Lint: ✅ Pasa
- [x] Tests: ✅ Pasan | ⏭️ N/A
- [x] Carga limpia: ✅ Pasa | ⏭️ N/A
- [x] Inventario: ✅ Actualizado
- [x] Sin duplicados: ✅ Verificado

### Convenciones Seguidas
- ✅ Nomenclatura según ESTANDARES-NOMENCLATURA-BASE.md
- ✅ Ubicación correcta de archivos
- ✅ Documentación inline incluida

### Problemas Encontrados
{Lista de problemas o "Ninguno"}

### Próximos Pasos
1. {Siguiente tarea relacionada}
2. {Otra tarea dependiente}

### Notas
{Observaciones adicionales}

---

4. Próxima Acción (@PROXIMA)

Ubicación: orchestration/PROXIMA-ACCION.md

Actualizar al completar cada tarea:

# PRÓXIMA ACCIÓN

**Fecha actualización:** {YYYY-MM-DD HH:MM}
**Actualizado por:** {Agente}
**Proyecto:** {PROJECT_NAME}

## Estado del Desarrollo

**Fase actual:** {fase}
**Épica actual:** {EPIC-ID} - {nombre}
**Progreso:** {X}/{Y} tareas ({Z}%)

## Siguiente Tarea Prioritaria

**ID:** {TASK-ID}
**Tipo:** Database | Backend | Frontend
**Descripción:** {descripción}
**Especificación:** {archivo o referencia}
**Dependencias:** {lista de dependencias completadas}

### Pre-requisitos
- [x] {dependencia completada}
- [x] {otra dependencia}

### Contexto
{Información relevante para continuar}

## Tareas Pendientes (próximas)

1. **{TASK-ID}:** {descripción corta}
2. **{TASK-ID}:** {descripción corta}
3. **{TASK-ID}:** {descripción corta}

## Bloqueadores Activos
{Lista de bloqueadores o "Ninguno"}

## Notas para Siguiente Sesión
{Información importante que no debe perderse}

5. Reporte de Entrega (para tareas complejas)

Template de reporte:

# Reporte de Entrega: {TASK-ID}

**Fecha:** {YYYY-MM-DD}
**Agente:** {Nombre}
**Estado:** ✅ COMPLETADO

## Resumen Ejecutivo

{1-2 párrafos describiendo qué se hizo y el resultado}

## Archivos Generados

### Código
| Archivo | Tipo | Líneas | Estado |
|---------|------|--------|--------|
| {archivo1} | {tipo} | {N} | ✅ |
| {archivo2} | {tipo} | {N} | ✅ |

### Documentación
- @INVENTORY actualizado
- @TRAZA_{CAPA} actualizada
- @PROXIMA actualizado

## Especificaciones Implementadas

| Elemento | Solicitado | Implementado | Estado |
|----------|------------|--------------|--------|
| {elem1} | {spec} | {impl} | ✅ |
| {elem2} | {spec} | {impl} | ✅ |

## Validaciones

| Validación | Resultado |
|------------|-----------|
| Build | ✅ Pasa |
| Lint | ✅ Pasa |
| Tests | ✅ Pasan |
| Coherencia | ✅ OK |

## Métricas

- **Tiempo estimado:** {X}h
- **Tiempo real:** {Y}h
- **Archivos creados:** {N}
- **Archivos modificados:** {M}

## Próximos Pasos Recomendados

1. {paso 1}
2. {paso 2}
3. {paso 3}

DOCUMENTACIÓN POR TIPO DE TAREA

Tipo de Tarea Inline Inventario Traza @PROXIMA Reporte
Nueva tabla COMMENT ON DB @TRAZA_DB Opcional
Nueva entity JSDoc BE @TRAZA_BE Opcional
Nuevo service JSDoc BE @TRAZA_BE Opcional
Nuevo componente TSDoc FE @TRAZA_FE Opcional
Bug fix Comentario Actualizar Afectada Opcional
Feature completa Todo Todas Todas Recomendado
Refactor grande Comentarios Afectadas Afectadas Recomendado

ERRORES COMUNES

Error Causa Solución
Inventario desactualizado Olvidó actualizar Incluir en checklist final
Traza incompleta Prisa por terminar Usar template de traza
@PROXIMA no actualizado No pensó en continuidad SIEMPRE actualizar al terminar
Sin documentación inline "El código es obvio" Comentar TODO lo público
Reporte faltante "Era tarea pequeña" Reporte mínimo siempre

REFERENCIAS

  • Crear archivos: @CREAR (SIMCO-CREAR.md)
  • Validar: @VALIDAR (SIMCO-VALIDAR.md)
  • Estándares de documentación: @DIRECTIVAS/ESTANDAR-DOCUMENTACION.md
  • Documentación obligatoria: @DIRECTIVAS/DIRECTIVA-DOCUMENTACION-OBLIGATORIA.md
  • Documentación Agile: @DIRECTIVAS/DIRECTIVA-DOCUMENTACION-AGILE.md

Versión: 1.0.0 | Sistema: SIMCO | Mantenido por: Tech Lead