Sistema completo de gestión de tokens para subagentes NEXUS v4.0: Nuevas directivas SIMCO: - SIMCO-SUBAGENTE.md: Protocolo para agentes en modo subagente - SIMCO-CCA-SUBAGENTE.md: CCA ligero para subagentes (~1,500 tokens) - SIMCO-CONTROL-TOKENS.md: Gestión de límites de tokens - SIMCO-DELEGACION-PARALELA.md: Delegación paralela Perfiles compact (~250 tokens cada uno): - PERFIL-BACKEND-COMPACT.md - PERFIL-FRONTEND-COMPACT.md - PERFIL-DATABASE-COMPACT.md - PERFIL-DEVOPS-COMPACT.md - PERFIL-ML-COMPACT.md - PERFIL-GENERIC-SUBAGENT.md Templates de delegación escalonados: - TEMPLATE-DELEGACION-MINIMA.md (~250 tokens) - TEMPLATE-DELEGACION-ESTANDAR.md (~600 tokens) - TEMPLATE-DELEGACION-COMPLETA.md (~1,800 tokens) Nuevos perfiles especializados: - PERFIL-MCP-ARCHITECT.md - PERFIL-MCP-DEVELOPER.md - PERFIL-RAG-ENGINEER.md - PERFIL-CICD-SPECIALIST.md - PERFIL-PRODUCTION-MANAGER.md - PERFIL-MONITORING-AGENT.md - PERFIL-SECRETS-MANAGER.md - PERFIL-PROPAGATION-TRACKER.md Checklists y documentación: - CHECKLIST-PRE-DELEGACION.md - Análisis y planes de implementación Métricas de mejora: - ~59% reducción de tokens por delegación - Perfiles compact: 69% más ligeros - CCA subagente: 85% más ligero 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
437 lines
12 KiB
Markdown
437 lines
12 KiB
Markdown
# SIMCO: PROPAGACIÓN DE DOCUMENTACIÓN
|
|
|
|
**Versión:** 1.0.0
|
|
**Fecha:** 2025-12-08
|
|
**Aplica a:** Todos los agentes al completar tareas
|
|
**Prioridad:** OBLIGATORIA - Ejecutar DESPUÉS de cada tarea completada
|
|
**Prerequisito:** SIMCO-NIVELES.md (identificación de nivel)
|
|
|
|
---
|
|
|
|
## RESUMEN EJECUTIVO
|
|
|
|
> **Toda tarea completada DEBE propagar su documentación hacia niveles superiores.**
|
|
> Propagación incompleta = referencias rotas, inventarios desactualizados, trazabilidad perdida.
|
|
> La tarea NO está completa hasta que la propagación esté verificada.
|
|
|
|
---
|
|
|
|
## PRINCIPIO DE PROPAGACIÓN
|
|
|
|
```
|
|
╔══════════════════════════════════════════════════════════════════════╗
|
|
║ FLUJO DE PROPAGACIÓN: Siempre de ABAJO hacia ARRIBA ║
|
|
║ ║
|
|
║ Vertical → Suite → Workspace ║
|
|
║ Suite Core → Suite → Workspace ║
|
|
║ Standalone → Workspace ║
|
|
║ Core → Workspace ║
|
|
║ Catálogo → Core → Workspace ║
|
|
╚══════════════════════════════════════════════════════════════════════╝
|
|
```
|
|
|
|
---
|
|
|
|
## MATRIZ DE PROPAGACIÓN
|
|
|
|
### Por Nivel de Origen
|
|
|
|
| Nivel Origen | Propaga a Nivel 1 | Propaga a Nivel 2 | Propaga a Nivel 3 |
|
|
|--------------|-------------------|-------------------|-------------------|
|
|
| 2B.2 VERTICAL | 2B SUITE | 0 WORKSPACE | - |
|
|
| 2B.1 SUITE-CORE | 2B SUITE | 0 WORKSPACE | - |
|
|
| 2B SUITE | 0 WORKSPACE | - | - |
|
|
| 2A STANDALONE | 0 WORKSPACE | - | - |
|
|
| 1 CORE | 0 WORKSPACE | - | - |
|
|
| 3 CATÁLOGO | 1 CORE | 0 WORKSPACE | - |
|
|
|
|
### Qué Propagar
|
|
|
|
```yaml
|
|
PROPAGACION_CONTENIDO:
|
|
inventario:
|
|
tipo: "REFERENCIA"
|
|
contenido: "Puntero al artefacto, NO duplicar contenido"
|
|
ejemplo: "ref: verticals/construccion/backend/entities/Obra.entity.ts"
|
|
|
|
traza:
|
|
tipo: "RESUMEN"
|
|
contenido: "Entrada resumida de la tarea completada"
|
|
ejemplo: "[2025-12-08] Vertical:Construccion - Creada entity Obra"
|
|
|
|
status:
|
|
tipo: "ACTUALIZACIÓN"
|
|
contenido: "Cambiar estado del componente/módulo"
|
|
ejemplo: "construccion.backend.entities: UPDATED"
|
|
|
|
indice:
|
|
tipo: "ENTRADA"
|
|
contenido: "Agregar a índices si es artefacto nuevo"
|
|
ejemplo: "Nueva entrada en VERTICALES-INDEX.yml"
|
|
```
|
|
|
|
---
|
|
|
|
## PROTOCOLO DE PROPAGACIÓN
|
|
|
|
### Fase 1: Documentar en Nivel Actual
|
|
|
|
```yaml
|
|
PASO_1_DOCUMENTAR_LOCAL:
|
|
ubicacion: "{ORCHESTRATION_PATH del nivel actual}"
|
|
|
|
acciones:
|
|
- actualizar_inventario:
|
|
archivo: "{INVENTORY}.yml"
|
|
contenido: "Artefacto completo con todos los campos"
|
|
|
|
- registrar_traza:
|
|
archivo: "trazas/TRAZA-TAREAS-{CAPA}.md"
|
|
contenido: "Entrada completa con fecha, descripción, archivos"
|
|
|
|
- actualizar_proxima_accion:
|
|
archivo: "PROXIMA-ACCION.md"
|
|
contenido: "Si hay siguiente paso, documentarlo"
|
|
|
|
validacion:
|
|
- [ ] Inventario actualizado
|
|
- [ ] Traza registrada
|
|
- [ ] Sin errores de formato
|
|
```
|
|
|
|
### Fase 2: Propagar a Niveles Superiores
|
|
|
|
```yaml
|
|
PASO_2_PROPAGAR:
|
|
para_cada_nivel_en: "PROPAGATE_TO"
|
|
|
|
acciones:
|
|
- agregar_referencia:
|
|
archivo: "{nivel_superior}/inventarios/{INVENTORY}.yml"
|
|
tipo: "referencia"
|
|
contenido: |
|
|
- ref: "{ruta_relativa_al_artefacto}"
|
|
nivel: "{nivel_origen}"
|
|
fecha: "{fecha}"
|
|
estado: "NUEVO|MODIFICADO"
|
|
|
|
- actualizar_status:
|
|
archivo: "{nivel_superior}/inventarios/STATUS.yml"
|
|
contenido: "Marcar componente como actualizado"
|
|
|
|
- registrar_en_traza:
|
|
archivo: "{nivel_superior}/trazas/TRAZA-{tipo}.md"
|
|
contenido: |
|
|
## [{fecha}] Propagación desde {nivel_origen}
|
|
- **Origen:** {ruta_completa}
|
|
- **Artefacto:** {nombre}
|
|
- **Acción:** {CREAR|MODIFICAR|ELIMINAR}
|
|
|
|
validacion:
|
|
- [ ] Todas las referencias agregadas
|
|
- [ ] Status actualizados
|
|
- [ ] Trazas registradas
|
|
```
|
|
|
|
### Fase 3: Verificar Coherencia
|
|
|
|
```yaml
|
|
PASO_3_VERIFICAR:
|
|
acciones:
|
|
- verificar_referencias:
|
|
comando: "Validar que todas las refs apuntan a archivos existentes"
|
|
|
|
- verificar_indices:
|
|
comando: "Validar que índices incluyen nuevos artefactos"
|
|
|
|
- verificar_status:
|
|
comando: "Validar que status reflejan cambios"
|
|
|
|
si_hay_error:
|
|
- Corregir inmediatamente
|
|
- NO marcar tarea como completa hasta resolver
|
|
```
|
|
|
|
---
|
|
|
|
## TEMPLATES DE PROPAGACIÓN
|
|
|
|
### Template: Referencia en Inventario Superior
|
|
|
|
```yaml
|
|
# En {nivel_superior}/inventarios/REFERENCIAS.yml
|
|
|
|
referencias_desde_{nivel_origen}:
|
|
- id: "{uuid o identificador}"
|
|
ruta: "{ruta_relativa_completa}"
|
|
tipo: "{entity|service|component|table|etc}"
|
|
nivel_origen: "{NIVEL_X}"
|
|
fecha_creacion: "{YYYY-MM-DD}"
|
|
fecha_modificacion: "{YYYY-MM-DD}"
|
|
estado: "{ACTIVO|DEPRECADO}"
|
|
descripcion: "{breve descripción}"
|
|
```
|
|
|
|
### Template: Entrada en Traza Superior
|
|
|
|
```markdown
|
|
## [{YYYY-MM-DD HH:MM}] Propagación: {Nivel Origen}
|
|
|
|
### Origen
|
|
- **Nivel:** {NIVEL_X}
|
|
- **Ruta:** `{ruta_completa}`
|
|
- **Proyecto/Vertical:** {nombre}
|
|
|
|
### Cambio
|
|
- **Tipo:** {CREAR|MODIFICAR|ELIMINAR}
|
|
- **Artefacto:** {nombre del artefacto}
|
|
- **Capa:** {DATABASE|BACKEND|FRONTEND}
|
|
|
|
### Impacto
|
|
- **Dependencias afectadas:** {lista o "ninguna"}
|
|
- **Requiere acción en otros niveles:** {sí/no}
|
|
|
|
### Referencias
|
|
- Inventario local: `{ruta_inventario_origen}`
|
|
- Traza local: `{ruta_traza_origen}`
|
|
```
|
|
|
|
### Template: Actualización de Status
|
|
|
|
```yaml
|
|
# En {nivel_superior}/inventarios/STATUS.yml
|
|
|
|
componentes:
|
|
{nombre_componente}:
|
|
nivel: "{NIVEL_X}"
|
|
ultima_modificacion: "{YYYY-MM-DD}"
|
|
modificado_por: "{agente}"
|
|
estado: "{ESTABLE|EN_DESARROLLO|DEPRECADO}"
|
|
artefactos_recientes:
|
|
- "{artefacto_1}"
|
|
- "{artefacto_2}"
|
|
```
|
|
|
|
---
|
|
|
|
## CASOS DE PROPAGACIÓN
|
|
|
|
### Caso 1: Crear Entity en Vertical
|
|
|
|
```yaml
|
|
ESCENARIO:
|
|
nivel: "2B.2 VERTICAL (construccion)"
|
|
accion: "Crear Obra.entity.ts"
|
|
ruta: "projects/nexus-erp-suite/verticals/construccion/backend/src/modules/obra/entities/Obra.entity.ts"
|
|
|
|
PROPAGACION:
|
|
paso_1_local:
|
|
archivo: "verticals/construccion/orchestration/inventarios/BACKEND_INVENTORY.yml"
|
|
contenido: |
|
|
entities:
|
|
- name: Obra
|
|
file: src/modules/obra/entities/Obra.entity.ts
|
|
table: obra.obras
|
|
created: 2025-12-08
|
|
status: NUEVO
|
|
|
|
paso_2_suite:
|
|
archivo: "projects/nexus-erp-suite/orchestration/inventarios/REFERENCIAS.yml"
|
|
contenido: |
|
|
referencias_verticales:
|
|
construccion:
|
|
backend:
|
|
entities:
|
|
- ref: verticals/construccion/backend/src/modules/obra/entities/Obra.entity.ts
|
|
nombre: Obra
|
|
fecha: 2025-12-08
|
|
|
|
paso_3_workspace:
|
|
archivo: "orchestration/WORKSPACE-STATUS.md"
|
|
contenido: |
|
|
## Actividad Reciente
|
|
- [2025-12-08] nexus-erp-suite/construccion: Nueva entity Obra
|
|
```
|
|
|
|
### Caso 2: Modificar Funcionalidad del Catálogo
|
|
|
|
```yaml
|
|
ESCENARIO:
|
|
nivel: "3 CATÁLOGO"
|
|
accion: "Actualizar auth module"
|
|
ruta: "shared/catalog/functionalities/auth/"
|
|
|
|
PROPAGACION:
|
|
paso_1_local:
|
|
archivo: "shared/catalog/functionalities/auth/orchestration/CHANGELOG.md"
|
|
contenido: "Detalle de cambios"
|
|
|
|
paso_2_core:
|
|
archivo: "core/orchestration/inventarios/CATALOG_STATUS.yml"
|
|
contenido: |
|
|
functionalities:
|
|
auth:
|
|
version: "1.2.0"
|
|
ultima_modificacion: 2025-12-08
|
|
cambios: "Descripción breve"
|
|
|
|
paso_3_workspace:
|
|
archivo: "orchestration/WORKSPACE-STATUS.md"
|
|
contenido: |
|
|
## Catálogo Actualizado
|
|
- [2025-12-08] shared/catalog/auth: Actualizado a v1.2.0
|
|
|
|
paso_4_notificar_consumidores:
|
|
# Proyectos que usan auth deben ser notificados
|
|
consultar: "shared/catalog/functionalities/auth/orchestration/CONSUMIDORES.yml"
|
|
accion: "Agregar nota de actualización disponible"
|
|
```
|
|
|
|
### Caso 3: Crear Tabla en Suite Core
|
|
|
|
```yaml
|
|
ESCENARIO:
|
|
nivel: "2B.1 SUITE-CORE"
|
|
accion: "Crear tabla shared.audit_logs"
|
|
ruta: "projects/nexus-erp-suite/core/database/ddl/schemas/shared/tables/01-audit_logs.sql"
|
|
|
|
PROPAGACION:
|
|
paso_1_local:
|
|
archivo: "projects/nexus-erp-suite/core/orchestration/inventarios/DATABASE_INVENTORY.yml"
|
|
contenido: |
|
|
tables:
|
|
shared:
|
|
- name: audit_logs
|
|
file: ddl/schemas/shared/tables/01-audit_logs.sql
|
|
created: 2025-12-08
|
|
|
|
paso_2_suite:
|
|
archivo: "projects/nexus-erp-suite/orchestration/inventarios/SUITE_MASTER_INVENTORY.yml"
|
|
contenido: |
|
|
core:
|
|
database:
|
|
tablas_nuevas:
|
|
- shared.audit_logs (2025-12-08)
|
|
|
|
paso_3_notificar_verticales:
|
|
# Tabla compartida, verticales pueden usarla
|
|
archivo: "projects/nexus-erp-suite/orchestration/trazas/TRAZA-SUITE.md"
|
|
contenido: |
|
|
## [2025-12-08] Nueva tabla compartida disponible
|
|
- **Tabla:** shared.audit_logs
|
|
- **Uso:** Disponible para todos los verticales
|
|
- **Documentación:** core/database/docs/audit_logs.md
|
|
```
|
|
|
|
---
|
|
|
|
## VALIDACIÓN POST-PROPAGACIÓN
|
|
|
|
### Checklist de Verificación
|
|
|
|
```markdown
|
|
## Validación de Propagación - {Tarea}
|
|
|
|
### Nivel Local ({NIVEL_X})
|
|
- [ ] Inventario actualizado con artefacto completo
|
|
- [ ] Traza registrada con todos los detalles
|
|
- [ ] PROXIMA-ACCION actualizado (si aplica)
|
|
|
|
### Nivel Superior 1 ({NIVEL_Y})
|
|
- [ ] Referencia agregada en inventario
|
|
- [ ] Status actualizado
|
|
- [ ] Traza con entrada de propagación
|
|
|
|
### Nivel Superior 2 ({NIVEL_Z}) - si aplica
|
|
- [ ] Referencia agregada
|
|
- [ ] Status actualizado
|
|
- [ ] Traza registrada
|
|
|
|
### Workspace (NIVEL_0)
|
|
- [ ] WORKSPACE-STATUS.md actualizado
|
|
- [ ] Índice de proyectos actualizado (si es nuevo)
|
|
|
|
### Coherencia
|
|
- [ ] Todas las referencias apuntan a archivos existentes
|
|
- [ ] No hay referencias duplicadas
|
|
- [ ] Fechas consistentes entre niveles
|
|
- [ ] Estados coherentes (NUEVO en todos o MODIFICADO en todos)
|
|
```
|
|
|
|
---
|
|
|
|
## ERRORES COMUNES
|
|
|
|
| Error | Causa | Solución |
|
|
|-------|-------|----------|
|
|
| Referencia rota | Ruta mal calculada | Usar rutas relativas desde nivel superior |
|
|
| Duplicación de contenido | Copiar en vez de referenciar | Solo REFERENCIAS en niveles superiores |
|
|
| Propagación parcial | Olvidó un nivel | Verificar PROPAGATE_TO completo |
|
|
| Fechas inconsistentes | Copiar fecha antigua | Usar fecha actual de propagación |
|
|
| Status desincronizado | No actualizó todos los niveles | Ejecutar validación post-propagación |
|
|
|
|
---
|
|
|
|
## AUTOMATIZACIÓN (Futuro)
|
|
|
|
```yaml
|
|
# Concepto para script de propagación automática
|
|
|
|
propagacion_automatica:
|
|
trigger: "Al completar tarea"
|
|
input:
|
|
- nivel_actual
|
|
- artefacto_creado
|
|
- tipo_cambio
|
|
|
|
proceso:
|
|
1. Identificar PROPAGATE_TO
|
|
2. Generar entradas de referencia
|
|
3. Actualizar inventarios
|
|
4. Registrar trazas
|
|
5. Validar coherencia
|
|
|
|
output:
|
|
- Reporte de propagación
|
|
- Lista de verificación
|
|
```
|
|
|
|
---
|
|
|
|
## INTEGRACIÓN CON OTROS SIMCO
|
|
|
|
### Con SIMCO-NIVELES
|
|
|
|
```yaml
|
|
# SIMCO-NIVELES identifica el nivel
|
|
# SIMCO-PROPAGACION usa esa información
|
|
|
|
flujo:
|
|
1. SIMCO-NIVELES → nivel_actual, PROPAGATE_TO
|
|
2. Ejecutar tarea
|
|
3. SIMCO-PROPAGACION → documentar y propagar
|
|
```
|
|
|
|
### Con SIMCO-VALIDAR
|
|
|
|
```yaml
|
|
# Incluir propagación en validación final
|
|
|
|
validacion_extendida:
|
|
- Validación técnica (build, lint)
|
|
- Validación de documentación local
|
|
- Validación de propagación (NUEVO)
|
|
```
|
|
|
|
---
|
|
|
|
## REFERENCIAS
|
|
|
|
- **Niveles:** `SIMCO-NIVELES.md`
|
|
- **Validación:** `SIMCO-VALIDAR.md`
|
|
- **Templates:** `templates/PROPAGACION-*.md`
|
|
|
|
---
|
|
|
|
**Versión:** 1.0.0 | **Sistema:** SIMCO | **Tipo:** Directiva de Propagación
|