Cambios incluidos: - INDICE-DIRECTIVAS-WORKSPACE.yml actualizado - Perfiles de agentes: PERFIL-ML.md, PERFIL-SECURITY.md - Directivas SIMCO actualizadas: - SIMCO-ASIGNACION-PERFILES.md - SIMCO-CCA-SUBAGENTE.md - SIMCO-CONTEXT-ENGINEERING.md - SIMCO-CONTEXT-RESOLUTION.md - SIMCO-DELEGACION-PARALELA.md - Inventarios actualizados: DEVENV-MASTER, DEVENV-PORTS - Documentos de analisis agregados: - Analisis y planes de fix student portal - Analisis scripts BD - Analisis achievements, duplicados, gamification - Auditoria documentacion gamilit - Backlog discrepancias NEXUS - Planes maestros de resolucion - Reportes de ejecucion agregados - Knowledge base gamilit README actualizado - Referencia submodulo gamilit actualizada (commit beb94f7) Validaciones: - Plan validado contra directivas SIMCO-GIT - Dependencias verificadas - Build gamilit: EXITOSO
411 lines
12 KiB
Markdown
411 lines
12 KiB
Markdown
# SIMCO: DELEGACIÓN PARALELA CON TRACKING
|
|
|
|
**Versión:** 1.0.0
|
|
**Sistema:** SIMCO - NEXUS v4.0
|
|
**Propósito:** Orquestación de hasta 5 subagentes con tracking de sesión
|
|
**Fecha:** 2026-01-04
|
|
|
|
---
|
|
|
|
## PRINCIPIO FUNDAMENTAL
|
|
|
|
> **La delegación paralela permite:**
|
|
> 1. Ejecutar hasta 5 subagentes simultáneamente
|
|
> 2. Herencia automática de contexto resuelto
|
|
> 3. Tracking en tiempo real via SESSION-TRACKING
|
|
> 4. Sincronización por dependencias entre subtareas
|
|
> **Resultado:** Ejecución eficiente con visibilidad completa.
|
|
|
|
---
|
|
|
|
## REGLAS DE PARALELISMO
|
|
|
|
### Límites
|
|
|
|
```yaml
|
|
LIMITES_PARALELOS:
|
|
max_subagentes: 5
|
|
max_por_dominio: 2 # Evitar conflictos
|
|
|
|
por_dominio:
|
|
DDL: 1 # Siempre secuencial
|
|
BACKEND: 2
|
|
FRONTEND: 3
|
|
DOCS: 2
|
|
```
|
|
|
|
### Reglas de Orden
|
|
|
|
```yaml
|
|
REGLAS_ORDEN:
|
|
obligatorias:
|
|
- "DDL ANTES de Backend" # Entity necesita DDL
|
|
- "Backend ANTES de Frontend" # Hook necesita endpoint
|
|
- "Entity ANTES de Service" # Service usa Entity
|
|
- "Service ANTES de Controller" # Controller usa Service
|
|
|
|
mismo_dominio:
|
|
- "Mismo módulo → secuencial" # Evitar conflictos
|
|
- "Módulos diferentes → paralelo"
|
|
|
|
paralelo_permitido:
|
|
- "DDL de schemas diferentes"
|
|
- "Módulos backend independientes"
|
|
- "Componentes frontend sin dependencia"
|
|
- "Documentación siempre paralela"
|
|
```
|
|
|
|
---
|
|
|
|
## DIAGRAMA DE ORQUESTACIÓN
|
|
|
|
```
|
|
AGENTE PRINCIPAL
|
|
│
|
|
├─── Fase C, A, P, V (ejecuta directamente)
|
|
│
|
|
▼
|
|
FASE E: EJECUCIÓN CON DELEGACIÓN
|
|
│
|
|
├────────────────────────────────────────────────────────┐
|
|
│ │
|
|
▼ ▼
|
|
┌─────────────────┐ ┌─────────────────┐
|
|
│ GRUPO 1 │ │ SESSION │
|
|
│ (Secuencial) │ │ TRACKING │
|
|
│ │ Reporta │ │
|
|
│ DDL-001 ───────┼──────────────────────────────┤ tracking/ │
|
|
│ │ │ │ SESSION-{id}. │
|
|
│ ▼ │ │ yml │
|
|
│ DDL-002 │ │ │
|
|
└─────────────────┘ └─────────────────┘
|
|
│ ▲
|
|
│ Cuando DDL completa │
|
|
▼ │
|
|
┌─────────────────────────────────────────────────────────┤
|
|
│ GRUPO 2 (Paralelo: Backend) │
|
|
│ │
|
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
│ │ BE-001 │ │ BE-002 │ │ BE-003 │ ─── Reportan ────┤
|
|
│ │ Entity │ │ Service │ │ DTO │ │
|
|
│ └─────────┘ └─────────┘ └─────────┘ │
|
|
└─────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ Cuando Backend completa │
|
|
▼ │
|
|
┌─────────────────────────────────────────────────────────┤
|
|
│ GRUPO 3 (Paralelo: Frontend) │
|
|
│ │
|
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
│ │ FE-001 │ │ FE-002 │ │ FE-003 │ ─── Reportan ────┘
|
|
│ │ Hook │ │ Comp. │ │ Page │
|
|
│ └─────────┘ └─────────┘ └─────────┘
|
|
└─────────────────────────────────────────────────────────┘
|
|
│
|
|
▼
|
|
AGENTE PRINCIPAL
|
|
│
|
|
├─── Consolida resultados de SESSION-TRACKING
|
|
│
|
|
▼
|
|
Fase D (ejecuta directamente)
|
|
```
|
|
|
|
---
|
|
|
|
## HERENCIA AUTOMÁTICA DE CONTEXTO
|
|
|
|
### Qué Hereda el Subagente
|
|
|
|
```yaml
|
|
HERENCIA_AUTOMATICA:
|
|
desde_context_map:
|
|
- variables resueltas (PROJECT, DB_NAME, etc.)
|
|
- aliases resueltos (@DDL, @BACKEND, etc.)
|
|
- rutas absolutas (no placeholders)
|
|
|
|
desde_agente_principal:
|
|
- tarea_id (HU-XXX)
|
|
- subtarea_id (ST-XXX)
|
|
- criterios de aceptación
|
|
- archivos de referencia específicos
|
|
|
|
desde_session_tracking:
|
|
- estado de subtareas previas
|
|
- archivos creados por otros subagentes
|
|
- errores encontrados
|
|
|
|
NO_HEREDAR:
|
|
- Contexto completo L0 (ya cargado en prompt base)
|
|
- Historial de otras tareas
|
|
- Código no relacionado
|
|
```
|
|
|
|
### Formato de Delegación
|
|
|
|
```yaml
|
|
PROMPT_DELEGACION:
|
|
estructura:
|
|
1_contexto_heredado:
|
|
proyecto: "{nombre}"
|
|
variables:
|
|
PROJECT: "{valor resuelto}"
|
|
DB_DDL_PATH: "{ruta absoluta}"
|
|
# Solo las relevantes
|
|
|
|
2_tarea_especifica:
|
|
subtarea_id: "ST-XXX"
|
|
descripcion: "{descripción clara}"
|
|
dominio: "{DDL | BACKEND | FRONTEND}"
|
|
|
|
3_archivos:
|
|
crear:
|
|
- "{ruta/archivo}"
|
|
modificar:
|
|
- "{ruta/archivo}"
|
|
referencia:
|
|
- "{ruta/patron.ts}"
|
|
|
|
4_criterios:
|
|
- "[ ] {criterio 1}"
|
|
- "[ ] {criterio 2}"
|
|
|
|
5_validaciones:
|
|
build: true | false
|
|
lint: true | false
|
|
reportar_a: "SESSION-TRACKING-{id}.yml"
|
|
```
|
|
|
|
---
|
|
|
|
## SESSION TRACKING
|
|
|
|
### Estructura del Archivo
|
|
|
|
```yaml
|
|
# SESSION-TRACKING-{uuid}.yml
|
|
session_tracking:
|
|
session_id: "{uuid}"
|
|
tarea_principal: "HU-XXX"
|
|
proyecto: "{nombre}"
|
|
inicio: "{YYYY-MM-DD HH:MM}"
|
|
estado: "{activa | completada | fallida}"
|
|
|
|
subagentes:
|
|
- id: "{subagente_id}"
|
|
subtarea: "ST-001"
|
|
perfil: "PERFIL-DATABASE-AGENT"
|
|
estado: "{pendiente | activo | completado | fallido}"
|
|
|
|
tiempos:
|
|
inicio: "{HH:MM}"
|
|
fin: "{HH:MM}"
|
|
|
|
archivos_creados:
|
|
- ruta: "{ruta/archivo}"
|
|
lineas: 0
|
|
|
|
archivos_modificados:
|
|
- ruta: "{ruta/archivo}"
|
|
cambios: "{descripción breve}"
|
|
|
|
validaciones:
|
|
build: "{pass | fail | skip}"
|
|
lint: "{pass | fail | skip}"
|
|
|
|
errores: []
|
|
notas: ""
|
|
|
|
sincronizacion:
|
|
grupos_completados: [1, 2]
|
|
grupo_actual: 3
|
|
pendientes: []
|
|
|
|
metricas:
|
|
subtareas_total: 0
|
|
subtareas_completadas: 0
|
|
subtareas_fallidas: 0
|
|
porcentaje: 0
|
|
```
|
|
|
|
### Ubicación
|
|
|
|
```
|
|
orchestration/tracking/SESSION-TRACKING-{uuid}.yml
|
|
```
|
|
|
|
---
|
|
|
|
## PROTOCOLO DE SINCRONIZACIÓN
|
|
|
|
### Inicio de Grupo
|
|
|
|
```yaml
|
|
PROTOCOLO_INICIO:
|
|
1_verificar_dependencias:
|
|
- Confirmar que grupo anterior completó
|
|
- Verificar archivos creados existen
|
|
- Cargar estado de SESSION-TRACKING
|
|
|
|
2_iniciar_subagentes:
|
|
- Crear entrada en SESSION-TRACKING
|
|
- Delegar con contexto heredado
|
|
- Marcar estado: "activo"
|
|
|
|
3_monitorear:
|
|
- Esperar reportes de subagentes
|
|
- Actualizar SESSION-TRACKING
|
|
- Detectar errores temprano
|
|
```
|
|
|
|
### Fin de Grupo
|
|
|
|
```yaml
|
|
PROTOCOLO_FIN:
|
|
1_consolidar_resultados:
|
|
- Recolectar reportes de todos los subagentes
|
|
- Actualizar SESSION-TRACKING
|
|
- Verificar validaciones pasaron
|
|
|
|
2_verificar_gate_e:
|
|
- Todos los subagentes: estado = "completado"
|
|
- Todos los builds: "pass"
|
|
- Todos los criterios: cumplidos
|
|
|
|
3_decidir:
|
|
si_exito:
|
|
- Marcar grupo como completado
|
|
- Proceder al siguiente grupo
|
|
|
|
si_fallo:
|
|
- Identificar subagente fallido
|
|
- Reintentar o escalar
|
|
- NO proceder hasta resolver
|
|
```
|
|
|
|
---
|
|
|
|
## MANEJO DE ERRORES EN PARALELO
|
|
|
|
### Estrategia de Recuperación
|
|
|
|
```yaml
|
|
SI_SUBAGENTE_FALLA:
|
|
1_aislar:
|
|
- Detener subagente fallido
|
|
- Continuar con otros del mismo grupo
|
|
- Documentar error en SESSION-TRACKING
|
|
|
|
2_evaluar:
|
|
- ¿Es bloqueante para el grupo?
|
|
- ¿Afecta a subagentes paralelos?
|
|
- ¿Se puede reintentar?
|
|
|
|
3_decidir:
|
|
si_bloqueante:
|
|
- Detener grupo completo
|
|
- Notificar al agente principal
|
|
- Esperar decisión
|
|
|
|
si_no_bloqueante:
|
|
- Continuar con otros subagentes
|
|
- Marcar para reintento al final
|
|
- Documentar para Fase D
|
|
|
|
4_recuperar:
|
|
- Reintentar con contexto actualizado
|
|
- Si falla 2 veces: escalar al PO
|
|
```
|
|
|
|
---
|
|
|
|
## LÍMITES DE TOKENS POR DELEGACIÓN
|
|
|
|
```yaml
|
|
LIMITES_DELEGACION:
|
|
prompt_base: 2000 # Instrucciones + perfil
|
|
contexto_heredado: 1500 # Variables + aliases
|
|
tarea_especifica: 500 # Descripción + criterios
|
|
archivos_referencia: 1500 # Código de patrón
|
|
|
|
total_max: 5500 # Prompt de delegación
|
|
|
|
respuesta_esperada: 12000 # Para ejecución del subagente
|
|
|
|
margen_seguridad: 7500 # Siempre disponible
|
|
```
|
|
|
|
---
|
|
|
|
## INTEGRACIÓN CON CAPVED++
|
|
|
|
```yaml
|
|
INTEGRACION:
|
|
fase_e:
|
|
- SESSION-TRACKING se crea al iniciar
|
|
- Grupos se ejecutan según plan de Fase P
|
|
- Cada subagente reporta a SESSION-TRACKING
|
|
|
|
gate_e:
|
|
- Verifica SESSION-TRACKING para cada subtarea
|
|
- Todos los subagentes deben tener estado: "completado"
|
|
- Todas las validaciones deben pasar
|
|
|
|
fase_d:
|
|
- SESSION-TRACKING se usa para documentar
|
|
- Archivos creados se registran en inventarios
|
|
- Errores se registran en REGISTRO-ERRORES.yml
|
|
```
|
|
|
|
---
|
|
|
|
## CHECKLIST PRE-DELEGACIÓN
|
|
|
|
```yaml
|
|
CHECKLIST:
|
|
antes_de_delegar:
|
|
- [ ] Subtarea definida (máx 2 archivos)
|
|
- [ ] Perfil de agente seleccionado
|
|
- [ ] Contexto heredado mínimo (< 1500 tokens)
|
|
- [ ] Criterios de aceptación claros
|
|
- [ ] Archivos de referencia identificados
|
|
- [ ] SESSION-TRACKING inicializado
|
|
- [ ] Dependencias del grupo previo completadas
|
|
```
|
|
|
|
---
|
|
|
|
## REFERENCIAS
|
|
|
|
| Documento | Propósito |
|
|
|-----------|-----------|
|
|
| `SIMCO-DELEGACION.md` | Base de delegación |
|
|
| `SIMCO-CAPVED-PLUS.md` | Ciclo CAPVED++ |
|
|
| `SIMCO-CONTROL-TOKENS.md` | Límites de tokens |
|
|
| `SESSION-TRACKING-TEMPLATE.yml` | Template de tracking |
|
|
|
|
---
|
|
|
|
## RELACIÓN CON SISTEMA NEXUS (Gamilit)
|
|
|
|
**Esta directiva define orquestación OPERATIVA por sesión individual.**
|
|
|
|
Para el límite global de subagentes compartidos entre agentes NEXUS, consultar:
|
|
|
|
- **DIRECTIVAS-PARALELIZACION.md** (`/projects/gamilit/.claude/directivas/`)
|
|
- Límite global: 15 subagentes compartidos entre TODOS los agentes NEXUS
|
|
- Registro centralizado: `orchestration/REGISTRO-SUBAGENTES.json`
|
|
- Sistema de prioridades para asignación de slots
|
|
|
|
**Jerarquía:**
|
|
```
|
|
NEXUS-PARALELIZACION → Límite global: 15 subagentes compartidos
|
|
↓
|
|
SIMCO (este archivo) → Orquestación por sesión: máx 5 por tarea
|
|
```
|
|
|
|
---
|
|
|
|
**Versión:** 1.0.1 | **Sistema:** SIMCO-NEXUS v4.0 | **Tipo:** Directiva de Orquestación
|
|
**Actualizado:** 2026-01-10
|