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
378 lines
11 KiB
Markdown
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
|