# SIMCO: INICIALIZACIÓN DE AGENTES

**Versión:** 1.2.0
**Sistema:** SIMCO + CAPVED + Economía de Tokens - Carga de Contexto Automática (CCA)
**Propósito:** Definir el proceso de bootstrap para cualquier agente

---

## PRINCIPIO FUNDAMENTAL

> **Un agente inicializado correctamente NO alucina porque tiene TODO el contexto necesario antes de actuar.**

---

## PROMPT DE INICIALIZACIÓN (Template Universal)

```markdown
Serás {PERFIL_AGENTE} trabajando en el proyecto {PROYECTO}
para realizar: {DESCRIPCION_TAREA}

Antes de actuar, ejecuta el protocolo CCA (Carga de Contexto Automática).
```

**Ejemplo real:**
```markdown
Serás Backend-Agent trabajando en el proyecto trading-platform
para realizar: Crear el módulo de notificaciones con endpoints CRUD

Antes de actuar, ejecuta el protocolo CCA (Carga de Contexto Automática).
```

---

## PROTOCOLO CCA: CARGA DE CONTEXTO AUTOMÁTICA

### Fase 0: IDENTIFICACIÓN (Automática)

```yaml
Al recibir prompt de inicialización, extraer:
  PERFIL: {tipo de agente mencionado}
  PROYECTO: {nombre del proyecto}
  TAREA: {descripción de la tarea}
  OPERACION: {inferir: CREAR | MODIFICAR | VALIDAR | INVESTIGAR}
  DOMINIO: {inferir: DDL | BACKEND | FRONTEND | MIXTO}
```

### Fase 1: CARGA NIVEL CORE (Obligatorio - ~5 min)

```
LEER EN ORDEN ESTRICTO:

1. PRINCIPIOS FUNDAMENTALES (5 archivos)
   └── core/orchestration/directivas/principios/
       ├── PRINCIPIO-CAPVED.md              # Ciclo de vida de tareas
       ├── PRINCIPIO-DOC-PRIMERO.md
       ├── PRINCIPIO-ANTI-DUPLICACION.md
       ├── PRINCIPIO-VALIDACION-OBLIGATORIA.md
       └── PRINCIPIO-ECONOMIA-TOKENS.md     # 🆕 Desglose de tareas

2. MI PERFIL
   └── core/orchestration/agents/perfiles/PERFIL-{MI-TIPO}.md
       Extraer:
       - Qué SÍ hago
       - Qué NO hago (delegar)
       - Directivas SIMCO que debo seguir

3. ÍNDICE SIMCO
   └── core/orchestration/directivas/simco/_INDEX.md
       Entender estructura del sistema

4. SISTEMA DE ALIASES
   └── core/orchestration/referencias/ALIASES.yml
       Cargar resolución de @ALIAS
```

### Fase 2: CARGA NIVEL PROYECTO (Obligatorio - ~5 min)

```
LEER EN ORDEN:

5. CONTEXTO DEL PROYECTO
   └── projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
       Extraer:
       - Variables resueltas (DB_NAME, BACKEND_ROOT, etc.)
       - Alias resueltos (@DDL, @BACKEND, etc.)
       - Stack tecnológico
       - Estructura del proyecto

6. PRÓXIMA ACCIÓN
   └── projects/{PROYECTO}/orchestration/PROXIMA-ACCION.md
       Verificar:
       - ¿Mi tarea es la próxima prioridad?
       - ¿Hay dependencias previas?
       - ¿Hay contexto de sesiones anteriores?

7. INVENTARIO RELEVANTE
   └── Según mi dominio:
       - DDL: @INV_DB (DATABASE_INVENTORY.yml)
       - Backend: @INV_BE (BACKEND_INVENTORY.yml)
       - Frontend: @INV_FE (FRONTEND_INVENTORY.yml)
       - Mixto: MASTER_INVENTORY.yml
```

### Fase 3: CARGA NIVEL OPERACIÓN (Según tarea - ~3 min)

```
LEER SIMCO DE OPERACIÓN:

8. SIMCO-TAREA.md (🆕 Si es HU que genera commit)
   └── Proceso CAPVED completo: C→A→P→V→E→D

9. SIMCO BASE (según operación inferida)
   └── Crear algo nuevo → SIMCO-CREAR.md
       Modificar existente → SIMCO-MODIFICAR.md
       Validar/revisar → SIMCO-VALIDAR.md
       Buscar/investigar → SIMCO-BUSCAR.md
       Documentar → SIMCO-DOCUMENTAR.md

10. SIMCO DE DOMINIO (si aplica)
   └── Base de datos → SIMCO-DDL.md
       Backend NestJS → SIMCO-BACKEND.md
       Frontend React → SIMCO-FRONTEND.md
```

### Fase 4: CARGA NIVEL TAREA (Específico - ~5 min)

```
LEER DOCUMENTACIÓN RELEVANTE:

10. DOCUMENTACIÓN DEL PROYECTO
    └── projects/{PROYECTO}/docs/
        Buscar especificaciones relacionadas con mi tarea:
        - Diseño de entidades
        - Especificaciones de API
        - Wireframes/mockups
        - ADRs relevantes

11. CÓDIGO EXISTENTE RELACIONADO
    └── Buscar patrones similares ya implementados:
        - ¿Existe módulo similar? → Usar como referencia
        - ¿Existe tabla similar? → Seguir convenciones
        - ¿Existe componente similar? → Reutilizar patrones

12. DEPENDENCIAS DE LA TAREA
    └── Identificar qué debe existir ANTES:
        - ¿Necesito tabla que no existe? → Crear primero o delegar
        - ¿Necesito endpoint que no existe? → Crear primero o delegar
        - ¿Necesito tipo que no existe? → Crear primero
```

---

## MAPA DE CARGA POR PERFIL

### Database-Agent

```yaml
CORE (siempre):
  - principios/*.md (5, incluyendo CAPVED y Tokens)
  - PERFIL-DATABASE.md
  - ALIASES.yml

PROYECTO (siempre):
  - CONTEXTO-PROYECTO.md
  - PROXIMA-ACCION.md
  - DATABASE_INVENTORY.yml

OPERACIÓN (según tarea):
  crear_tabla: [SIMCO-CREAR.md, SIMCO-DDL.md]
  modificar_tabla: [SIMCO-MODIFICAR.md, SIMCO-DDL.md]
  crear_funcion: [SIMCO-CREAR.md, SIMCO-DDL.md]
  crear_indice: [SIMCO-CREAR.md, SIMCO-DDL.md]

TAREA:
  - docs/{especificacion-entidad}.md
  - DDL existente del schema
  - Convenciones SQL del proyecto
```

### Backend-Agent

```yaml
CORE (siempre):
  - principios/*.md (5, incluyendo CAPVED y Tokens)
  - PERFIL-BACKEND.md
  - ALIASES.yml

PROYECTO (siempre):
  - CONTEXTO-PROYECTO.md
  - PROXIMA-ACCION.md
  - BACKEND_INVENTORY.yml
  - DATABASE_INVENTORY.yml (para alinear con DDL)

OPERACIÓN (según tarea):
  crear_modulo: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
  crear_entity: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
  crear_endpoint: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
  modificar_service: [SIMCO-MODIFICAR.md, SIMCO-BACKEND.md]

TAREA:
  - docs/{especificacion-api}.md
  - DDL de tabla relacionada
  - Entities similares existentes
  - Services similares existentes
```

### Frontend-Agent

```yaml
CORE (siempre):
  - principios/*.md (5, incluyendo CAPVED y Tokens)
  - PERFIL-FRONTEND.md
  - ALIASES.yml

PROYECTO (siempre):
  - CONTEXTO-PROYECTO.md
  - PROXIMA-ACCION.md
  - FRONTEND_INVENTORY.yml
  - BACKEND_INVENTORY.yml (para conocer endpoints)

OPERACIÓN (según tarea):
  crear_componente: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
  crear_pagina: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
  crear_hook: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
  modificar_componente: [SIMCO-MODIFICAR.md, SIMCO-FRONTEND.md]

TAREA:
  - docs/{wireframe-mockup}.md
  - DTOs del backend relacionados
  - Componentes similares existentes
  - Hooks similares existentes
```

### Orquestador (Tech-Leader)

```yaml
CORE (siempre):
  - principios/*.md (5, incluyendo CAPVED y Tokens)
  - PERFIL-ORQUESTADOR.md
  - ALIASES.yml

PROYECTO (siempre):
  - CONTEXTO-PROYECTO.md
  - PROXIMA-ACCION.md
  - MASTER_INVENTORY.yml (visión completa)

OPERACIÓN (según tarea):
  planificar: [SIMCO-BUSCAR.md, SIMCO-DELEGACION.md]
  delegar: [SIMCO-DELEGACION.md]
  validar: [SIMCO-VALIDAR.md]
  coordinar: [SIMCO-DELEGACION.md]

TAREA:
  - docs/ completo del proyecto
  - Estado de todas las capas
  - Dependencias entre tareas
```

---

## CHECKLIST DE INICIALIZACIÓN

```markdown
## CHECKLIST CCA - {PERFIL} en {PROYECTO}

### Fase 1: Core ✓
- [ ] Leí PRINCIPIO-CAPVED.md (Ciclo de vida)
- [ ] Leí PRINCIPIO-DOC-PRIMERO.md
- [ ] Leí PRINCIPIO-ANTI-DUPLICACION.md
- [ ] Leí PRINCIPIO-VALIDACION-OBLIGATORIA.md
- [ ] Leí PRINCIPIO-ECONOMIA-TOKENS.md (🆕 Desglose tareas)
- [ ] Leí mi PERFIL-{TIPO}.md
- [ ] Leí _INDEX.md de SIMCO
- [ ] Leí ALIASES.yml

### Fase 2: Proyecto ✓
- [ ] Leí CONTEXTO-PROYECTO.md
- [ ] Leí PROXIMA-ACCION.md
- [ ] Leí inventario relevante

### Fase 3: Operación ✓
- [ ] Identifiqué si es HU → Leí SIMCO-TAREA.md (🆕)
- [ ] Identifiqué operación: {CREAR|MODIFICAR|VALIDAR|...}
- [ ] Leí SIMCO-{operación}.md
- [ ] Leí SIMCO-{dominio}.md (si aplica)

### Fase 4: Tarea ✓
- [ ] Consulté docs/ relevante
- [ ] Busqué patrones existentes
- [ ] Identifiqué dependencias

### READY TO EXECUTE
- [ ] Tengo TODO el contexto necesario
- [ ] Sé qué debo hacer
- [ ] Sé qué NO debo hacer
- [ ] Sé qué delegar si es necesario
```

---

## REPORTE DE CONTEXTO CARGADO

Al completar CCA, generar reporte interno:

```yaml
REPORTE_CONTEXTO_CARGADO:
  agente: "{PERFIL}"
  proyecto: "{PROYECTO}"
  tarea: "{DESCRIPCION}"

  contexto_core:
    principios: [capved, doc-primero, anti-dup, validacion, tokens]  # 5 principios
    perfil: "PERFIL-{TIPO}.md"
    simco_index: true
    aliases: true

  contexto_proyecto:
    contexto_proyecto: true
    proxima_accion: true
    inventarios: ["{inventarios_leidos}"]

  contexto_operacion:
    operacion: "{CREAR|MODIFICAR|...}"
    simco_operacion: "SIMCO-{op}.md"
    simco_dominio: "SIMCO-{dom}.md"

  contexto_tarea:
    docs_consultados: ["{lista}"]
    patrones_encontrados: ["{lista}"]
    dependencias_identificadas: ["{lista}"]

  estado: "READY_TO_EXECUTE"

  restricciones:
    no_hacer: ["{lista de lo que NO debo hacer}"]
    delegar_a: ["{agentes para delegar}"]

  validaciones_requeridas:
    - "{validación 1}"
    - "{validación 2}"
```

---

## ANTI-PATRONES (QUÉ NO HACER)

```yaml
❌ NUNCA:
  - Empezar a codificar sin completar CCA
  - Asumir que algo existe sin verificar inventario
  - Crear sin consultar docs/ primero
  - Ignorar principios porque "es una tarea simple"
  - Saltarse validaciones "para ir más rápido"
  - Modificar sin analizar impacto

❌ ERRORES COMUNES:
  - "Ya sé cómo hacerlo" → Verificar docs/ de todas formas
  - "Es igual al otro módulo" → Verificar diferencias en specs
  - "Después documento" → Documentar durante, no después
  - "El build puede fallar temporalmente" → NUNCA dejar build roto
```

---

## TIEMPO ESTIMADO DE INICIALIZACIÓN

| Fase | Tiempo | Archivos |
|------|--------|----------|
| Core | ~5 min | 6 archivos |
| Proyecto | ~5 min | 3-4 archivos |
| Operación | ~3 min | 1-2 archivos |
| Tarea | ~5 min | Variable |
| **TOTAL** | **~18 min** | **~15 archivos** |

> **INVERSIÓN:** 18 minutos de lectura
> **RETORNO:** Cero alucinaciones, cero retrabajos, código correcto desde el inicio

---

## INTEGRACIÓN CON SUBAGENTES

Cuando delegas a un subagente, este DEBE ejecutar CCA también.
Ver: `SIMCO-DELEGACION.md` para template de delegación con contexto heredado.

---

## REFERENCIAS

- **Ciclo de vida de tareas:** @CAPVED (PRINCIPIO-CAPVED.md)
- **Economía de tokens:** @TOKENS (PRINCIPIO-ECONOMIA-TOKENS.md)
- **Referencia rápida:** @QUICK_REF (SIMCO-QUICK-REFERENCE.md)
- **Punto de entrada HU:** @TAREA (SIMCO-TAREA.md)
- **Delegación:** @DELEGAR (SIMCO-DELEGACION.md)

---

**Versión:** 1.2.0 | **Sistema:** SIMCO + CAPVED + Tokens | **Tipo:** Directiva de Inicialización
