workspace-v1/orchestration/directivas/simco/SIMCO-NIVELES.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

378 lines
11 KiB
Markdown

# SIMCO: NIVELES JERÁRQUICOS DEL WORKSPACE
**Versión:** 1.0.0
**Fecha:** 2025-12-08
**Aplica a:** Todos los agentes
**Prioridad:** OBLIGATORIA - Identificar nivel ANTES de cualquier acción
---
## RESUMEN EJECUTIVO
> **Todo agente DEBE identificar en qué nivel del workspace está trabajando.**
> El nivel determina: dónde crear documentación, qué contexto cargar, y qué actualizar al completar.
> Documentación en nivel incorrecto = caos organizacional.
---
## JERARQUÍA DE NIVELES
```
NIVEL 0: WORKSPACE ROOT (/home/isem/workspace/)
├── NIVEL 1: CORE (core/)
│ ├── orchestration/ → Directivas globales, SIMCO, perfiles
│ ├── catalog/ → Funcionalidades reutilizables
│ └── modules/ → Módulos compartidos (futuro)
├── NIVEL 2A: PROYECTOS STANDALONE (projects/{proyecto}/)
│ └── Proyectos independientes sin subproyectos
│ Ejemplos: nexus-sgi, demo-poc, nexus-hr
├── NIVEL 2B: PROYECTOS MULTI-VERTICAL (projects/{suite}/)
│ │ Ejemplos: nexus-erp-suite
│ │
│ ├── NIVEL 2B.1: SUITE CORE ({suite}/core/)
│ │ └── Componentes compartidos de la suite
│ │
│ └── NIVEL 2B.2: VERTICALES ({suite}/verticals/{vertical}/)
│ └── Subproyectos especializados
│ Ejemplos: construccion, manufactura, retail
└── NIVEL 3: CATÁLOGO (core/catalog/functionalities/)
└── Funcionalidades genéricas reutilizables
Ejemplos: auth, session, notifications
```
---
## IDENTIFICACIÓN DE NIVEL
### Matriz de Identificación
| Ruta del Archivo | Nivel | Tipo |
|------------------|-------|------|
| `core/orchestration/**` | 1 | CORE |
| `core/catalog/**` | 3 | CATÁLOGO |
| `core/modules/**` | 1 | CORE |
| `projects/{p}/` (sin verticals/) | 2A | STANDALONE |
| `projects/{p}/verticals/` existe | 2B | MULTI-VERTICAL |
| `projects/{p}/core/` | 2B.1 | SUITE-CORE |
| `projects/{p}/verticals/{v}/` | 2B.2 | VERTICAL |
### Protocolo de Identificación
```yaml
# EJECUTAR al inicio de cualquier tarea
PASO_1_EXTRAER_RUTA:
working_directory: "{extraer del prompt o contexto}"
PASO_2_CLASIFICAR:
si_contiene: "core/orchestration" → NIVEL_1_CORE
si_contiene: "core/catalog" → NIVEL_3_CATALOGO
si_contiene: "verticals/" → NIVEL_2B2_VERTICAL
si_contiene: "/core/" AND proyecto_tiene_verticals → NIVEL_2B1_SUITE_CORE
si_es: "projects/{p}/" AND tiene_verticals/ → NIVEL_2B_MULTI_VERTICAL
si_es: "projects/{p}/" AND no_tiene_verticals → NIVEL_2A_STANDALONE
default: NIVEL_0_WORKSPACE
PASO_3_REGISTRAR:
nivel_actual: "{nivel identificado}"
ruta_orchestration: "{calcular según nivel}"
niveles_superiores: "{lista de niveles a propagar}"
```
---
## ESTRUCTURA ORCHESTRATION POR NIVEL
### NIVEL 0: Workspace Root
```
/home/isem/workspace/
└── orchestration/ # Mínimo, solo referencias globales
├── WORKSPACE-INDEX.md # Índice de todos los proyectos
├── WORKSPACE-STATUS.md # Estado general del workspace
└── referencias/
└── PROYECTOS-ACTIVOS.yml # Lista de proyectos y su estado
```
### NIVEL 1: Core
```
core/orchestration/
├── 00-guidelines/
├── directivas/
│ ├── principios/
│ └── simco/
├── agents/
│ └── perfiles/
├── referencias/
├── templates/
└── inventarios/
└── CORE_INVENTORY.yml
```
### NIVEL 2A: Proyecto Standalone
```
projects/{proyecto}/orchestration/
├── 00-guidelines/
│ └── CONTEXTO-PROYECTO.md
├── PROXIMA-ACCION.md
├── inventarios/
│ ├── MASTER_INVENTORY.yml
│ ├── DATABASE_INVENTORY.yml
│ ├── BACKEND_INVENTORY.yml
│ └── FRONTEND_INVENTORY.yml
├── trazas/
│ ├── TRAZA-TAREAS-DATABASE.md
│ ├── TRAZA-TAREAS-BACKEND.md
│ └── TRAZA-TAREAS-FRONTEND.md
└── referencias/
└── DEPENDENCIAS.yml
```
### NIVEL 2B: Proyecto Multi-Vertical (Suite)
```
projects/{suite}/orchestration/
├── 00-guidelines/
│ └── CONTEXTO-SUITE.md
├── PROXIMA-ACCION.md
├── inventarios/
│ ├── SUITE_MASTER_INVENTORY.yml # Agregado de todos los verticales
│ └── VERTICALES-STATUS.yml # Estado de cada vertical
├── trazas/
│ └── TRAZA-SUITE.md # Cambios a nivel suite
└── referencias/
├── VERTICALES-INDEX.yml # Lista de verticales
└── DEPENDENCIAS-CRUZADAS.yml # Dependencias entre verticales
```
### NIVEL 2B.1: Suite Core
```
projects/{suite}/core/orchestration/
├── 00-guidelines/
│ └── CONTEXTO-SUITE-CORE.md
├── inventarios/
│ ├── CORE_DATABASE_INVENTORY.yml
│ ├── CORE_BACKEND_INVENTORY.yml
│ └── CORE_FRONTEND_INVENTORY.yml
├── trazas/
│ └── TRAZA-CORE.md
└── referencias/
└── CONSUMIDORES.yml # Qué verticales usan qué del core
```
### NIVEL 2B.2: Vertical
```
projects/{suite}/verticals/{vertical}/orchestration/
├── 00-guidelines/
│ └── CONTEXTO-VERTICAL.md
├── PROXIMA-ACCION.md
├── inventarios/
│ ├── VERTICAL_INVENTORY.yml
│ ├── DATABASE_INVENTORY.yml
│ ├── BACKEND_INVENTORY.yml
│ └── FRONTEND_INVENTORY.yml
├── trazas/
│ ├── TRAZA-TAREAS-DATABASE.md
│ ├── TRAZA-TAREAS-BACKEND.md
│ └── TRAZA-TAREAS-FRONTEND.md
└── referencias/
├── DEPENDENCIAS-CORE.yml # Qué usa del suite/core
└── DEPENDENCIAS-EXTERNAS.yml # Qué usa de otros verticales
```
### NIVEL 3: Catálogo
```
core/catalog/
├── CATALOG-INDEX.yml
├── functionalities/
│ └── {funcionalidad}/
│ ├── README.md
│ ├── orchestration/
│ │ ├── CONTEXTO-FUNCIONALIDAD.md
│ │ └── CONSUMIDORES.yml # Proyectos que lo usan
│ └── implementation/
└── templates/
```
---
## REGLAS DE DOCUMENTACIÓN POR NIVEL
### Principio Fundamental
```
╔══════════════════════════════════════════════════════════════════════╗
║ TODA documentación se genera en el nivel donde se trabaja. ║
║ TODA documentación se propaga hacia niveles superiores. ║
║ NUNCA se documenta en nivel inferior al de trabajo. ║
╚══════════════════════════════════════════════════════════════════════╝
```
### Matriz de Documentación
| Trabajo en | Documenta en | Propaga a |
|------------|--------------|-----------|
| NIVEL 2B.2 (Vertical) | vertical/orchestration/ | Suite → Workspace |
| NIVEL 2B.1 (Suite Core) | suite/core/orchestration/ | Suite → Workspace |
| NIVEL 2A (Standalone) | proyecto/orchestration/ | Workspace |
| NIVEL 1 (Core) | core/orchestration/ | Workspace |
| NIVEL 3 (Catálogo) | catalog/functionalities/{f}/orchestration/ | Core → Workspace |
### Qué Documentar en Cada Nivel
```yaml
NIVEL_TRABAJO:
inventario: "Artefactos creados/modificados"
traza: "Registro de tarea completada"
proxima_accion: "Si aplica, siguiente paso"
NIVELES_SUPERIORES:
inventario: "Referencia al artefacto (no duplicar)"
status: "Actualizar estado del componente"
referencias: "Actualizar índices si es nuevo artefacto"
```
---
## VARIABLES POR NIVEL
### Resolución de Variables
```yaml
# Variables que cambian según el nivel
NIVEL_2B2_VERTICAL:
PROJECT_ROOT: "projects/{suite}/verticals/{vertical}"
ORCHESTRATION_PATH: "{PROJECT_ROOT}/orchestration"
PARENT_LEVEL: "NIVEL_2B"
PARENT_PATH: "projects/{suite}"
PROPAGATE_TO:
- "projects/{suite}/orchestration"
- "orchestration" # workspace root
NIVEL_2B1_SUITE_CORE:
PROJECT_ROOT: "projects/{suite}/core"
ORCHESTRATION_PATH: "{PROJECT_ROOT}/orchestration"
PARENT_LEVEL: "NIVEL_2B"
PARENT_PATH: "projects/{suite}"
PROPAGATE_TO:
- "projects/{suite}/orchestration"
- "orchestration"
NIVEL_2A_STANDALONE:
PROJECT_ROOT: "projects/{proyecto}"
ORCHESTRATION_PATH: "{PROJECT_ROOT}/orchestration"
PARENT_LEVEL: "NIVEL_0"
PARENT_PATH: ""
PROPAGATE_TO:
- "orchestration"
NIVEL_1_CORE:
PROJECT_ROOT: "core"
ORCHESTRATION_PATH: "core/orchestration"
PARENT_LEVEL: "NIVEL_0"
PARENT_PATH: ""
PROPAGATE_TO:
- "orchestration"
NIVEL_3_CATALOGO:
PROJECT_ROOT: "core/catalog/functionalities/{funcionalidad}"
ORCHESTRATION_PATH: "{PROJECT_ROOT}/orchestration"
PARENT_LEVEL: "NIVEL_1"
PARENT_PATH: "core"
PROPAGATE_TO:
- "core/orchestration"
- "orchestration"
```
---
## PROTOCOLO DE INICIO POR NIVEL
### Template de Identificación
```markdown
## IDENTIFICACIÓN DE NIVEL
### Análisis de Ruta
- **Working Directory:** {ruta}
- **Contiene verticals/:** {sí|no}
- **Está en core/:** {sí|no}
- **Está en catalog/:** {sí|no}
### Nivel Identificado
- **Nivel:** {NIVEL_X}
- **Tipo:** {CORE|STANDALONE|MULTI-VERTICAL|SUITE-CORE|VERTICAL|CATALOGO}
- **Orchestration Path:** {ruta calculada}
### Propagación Requerida
1. {nivel superior 1} → {ruta}
2. {nivel superior 2} → {ruta}
...
```
---
## VALIDACIÓN DE NIVEL
### Checklist Pre-Ejecución
```markdown
- [ ] Nivel identificado correctamente
- [ ] Ruta de orchestration existe
- [ ] Inventarios del nivel accesibles
- [ ] Rutas de propagación identificadas
- [ ] Variables del nivel resueltas
```
### Errores Comunes
| Error | Causa | Solución |
|-------|-------|----------|
| Documentación en nivel incorrecto | No identificó nivel | Ejecutar protocolo de identificación |
| Propagación incompleta | Olvidó niveles superiores | Verificar PROPAGATE_TO |
| Inventario no encontrado | Ruta mal calculada | Validar ORCHESTRATION_PATH |
| Referencias rotas | No actualizó índices | Ejecutar propagación completa |
---
## INTEGRACIÓN CON CCA
### Extensión del Protocolo CCA
```yaml
# Agregar como PASO_0 en CCA
PASO_0_IDENTIFICAR_NIVEL:
accion: "Identificar nivel jerárquico"
ejecutar: "Protocolo de SIMCO-NIVELES.md"
resultado:
nivel: "{NIVEL_X}"
orchestration_path: "{ruta}"
propagate_to: ["{rutas}"]
siguiente: "PASO_1_IDENTIFICAR (CCA estándar)"
```
---
## REFERENCIAS
- **Propagación:** `SIMCO-PROPAGACION.md` (actualización en cascada)
- **CCA:** `SIMCO-INICIALIZACION.md` (carga de contexto)
- **Delegación:** `SIMCO-DELEGACION.md` (heredar nivel a subagentes)
- **Templates:** `templates/CONTEXTO-NIVEL-*.md`
---
**Versión:** 1.0.0 | **Sistema:** SIMCO | **Tipo:** Directiva de Niveles