workspace-v1/orchestration/directivas/simco/SIMCO-DELEGACION-PARALELA.md
rckrdmrd e56e927a4d [MAINT-001] docs(orchestration): Actualizacion directivas SIMCO, perfiles y documentacion
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
2026-01-10 04:51:28 -06:00

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