- Move 6 non-standard folders to _archive/ - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: SUB-CONSUMER Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9.2 KiB
9.2 KiB
Protocolo CCA - Carga de Contexto Automática
Definición Canónica (Fuente Única de Verdad)
Versión: 1.0.0 Fecha: 2026-01-16 Alias: @DEF_CCA Tipo: Definición Canónica
PROPÓSITO
Este documento es la ÚNICA fuente de verdad para el Protocolo CCA. Todos los perfiles de agentes deben REFERENCIAR este archivo, no copiar su contenido.
USO EN PERFILES
## PROTOCOLO CCA
> Definición: @DEF_CCA
> Variante: {dominio}
### Extensiones Específicas
[Solo contenido específico del dominio]
PROTOCOLO BASE
ANTES de cualquier acción, ejecutar Carga de Contexto Automática
# Al recibir: "Serás {PERFIL}-Agent en {PROYECTO} para {TAREA}"
# ═══════════════════════════════════════════════════════════════
# PASO 0: IDENTIFICAR NIVEL (OBLIGATORIO PRIMERO)
# ═══════════════════════════════════════════════════════════════
PASO_0_IDENTIFICAR_NIVEL:
leer: "orchestration/directivas/simco/SIMCO-NIVELES.md"
determinar:
working_directory: "{extraer del prompt}"
nivel: "{NIVEL_0|1|2A|2B|2B.1|2B.2|3}"
orchestration_path: "{calcular según nivel}"
propagate_to: ["{niveles superiores si aplica}"]
registrar:
nivel_actual: "{nivel identificado}"
ruta_inventario: "{orchestration_path}/inventarios/"
ruta_traza: "{orchestration_path}/trazas/"
# ═══════════════════════════════════════════════════════════════
# PASO 1: IDENTIFICAR CONTEXTO
# ═══════════════════════════════════════════════════════════════
PASO_1_IDENTIFICAR:
perfil: "{PERFIL}" # Nombre del perfil activo
proyecto: "{PROYECTO}" # Extraer del prompt
tarea: "{TAREA}" # Extraer del prompt
operacion: "CREAR | MODIFICAR | VALIDAR | DOCUMENTAR | BUSCAR"
dominio: "{DOMINIO}" # BACKEND | FRONTEND | DDL | DEVOPS | ML | etc.
# ═══════════════════════════════════════════════════════════════
# PASO 2: CARGAR CONTEXTO CORE (SIEMPRE)
# ═══════════════════════════════════════════════════════════════
PASO_2_CARGAR_CORE:
leer_obligatorio:
# Catálogo primero (evitar duplicados)
- shared/catalog/CATALOG-INDEX.yml
# Principios fundamentales
- orchestration/directivas/principios/PRINCIPIO-CAPVED.md
- orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md
- orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md
- orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md
# Índices y referencias
- orchestration/directivas/simco/_INDEX.md
- orchestration/directivas/simco/SIMCO-TAREA.md
- orchestration/referencias/ALIASES.yml
# ═══════════════════════════════════════════════════════════════
# PASO 3: CARGAR CONTEXTO DEL PROYECTO
# ═══════════════════════════════════════════════════════════════
PASO_3_CARGAR_PROYECTO:
leer_obligatorio:
- projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
- projects/{PROYECTO}/orchestration/PROXIMA-ACCION.md
leer_segun_dominio:
# Ver sección VARIANTES POR DOMINIO
# ═══════════════════════════════════════════════════════════════
# PASO 4: CARGAR DIRECTIVAS DE OPERACIÓN
# ═══════════════════════════════════════════════════════════════
PASO_4_CARGAR_OPERACION:
verificar_catalogo_primero:
- "grep -i '{funcionalidad}' @CATALOG_INDEX"
- si_existe: "Seguir @REUTILIZAR en lugar de crear"
segun_operacion:
crear: ["SIMCO-CREAR.md", "SIMCO-{DOMINIO}.md"]
modificar: ["SIMCO-MODIFICAR.md", "SIMCO-{DOMINIO}.md"]
validar: ["SIMCO-VALIDAR.md"]
documentar: ["SIMCO-DOCUMENTAR.md"]
buscar: ["SIMCO-BUSCAR.md"]
# ═══════════════════════════════════════════════════════════════
# PASO 5: CARGAR CONTEXTO ESPECÍFICO DE TAREA
# ═══════════════════════════════════════════════════════════════
PASO_5_CARGAR_TAREA:
- "Documentación relevante en docs/"
- "Código existente similar (patrones)"
- "Archivos relacionados con la tarea"
- "Identificar dependencias"
# ═══════════════════════════════════════════════════════════════
# PASO 6: VERIFICAR DEPENDENCIAS
# ═══════════════════════════════════════════════════════════════
PASO_6_VERIFICAR_DEPENDENCIAS:
si_dependencia_no_existe:
accion: "DELEGAR al agente correspondiente"
no_continuar_hasta: "Dependencia resuelta"
dependencias_por_dominio:
backend:
requiere: "Tablas DDL existen"
delegar_a: "@PERFIL_DATABASE"
frontend:
requiere: "Endpoints API existen"
delegar_a: "@PERFIL_BACKEND"
devops:
requiere: "Código funcional existe"
delegar_a: "@PERFIL_BACKEND o @PERFIL_FRONTEND"
# ═══════════════════════════════════════════════════════════════
# RESULTADO
# ═══════════════════════════════════════════════════════════════
RESULTADO: "READY_TO_EXECUTE - Contexto completo cargado"
VARIANTES POR DOMINIO
#backend
PASO_3_CARGAR_PROYECTO:
leer_segun_dominio:
- projects/{PROYECTO}/orchestration/inventarios/BACKEND_INVENTORY.yml
- projects/{PROYECTO}/orchestration/inventarios/DATABASE_INVENTORY.yml
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_entity: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
crear_service: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
crear_controller: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
crear_dto: [SIMCO-CREAR.md, SIMCO-BACKEND.md]
#frontend
PASO_3_CARGAR_PROYECTO:
leer_segun_dominio:
- projects/{PROYECTO}/orchestration/inventarios/FRONTEND_INVENTORY.yml
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_componente: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
crear_hook: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
crear_page: [SIMCO-CREAR.md, SIMCO-FRONTEND.md]
#ddl
PASO_3_CARGAR_PROYECTO:
leer_segun_dominio:
- projects/{PROYECTO}/orchestration/inventarios/DATABASE_INVENTORY.yml
- projects/{PROYECTO}/ddl/ # Esquemas existentes
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_tabla: [SIMCO-CREAR.md, SIMCO-DDL.md]
crear_funcion: [SIMCO-CREAR.md, SIMCO-DDL.md]
crear_trigger: [SIMCO-CREAR.md, SIMCO-DDL.md]
crear_rls: [SIMCO-CREAR.md, SIMCO-DDL.md]
#devops
PASO_3_CARGAR_PROYECTO:
leer_segun_dominio:
- projects/{PROYECTO}/docker-compose.yml
- projects/{PROYECTO}/.env.example
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_dockerfile: [SIMCO-CREAR.md, SIMCO-DEVOPS.md]
crear_pipeline: [SIMCO-CREAR.md, SIMCO-DEVOPS.md]
#ml
PASO_3_CARGAR_PROYECTO:
leer_segun_dominio:
- projects/{PROYECTO}/orchestration/inventarios/ML_INVENTORY.yml
- projects/{PROYECTO}/models/
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_modelo: [SIMCO-CREAR.md, SIMCO-ML.md]
crear_pipeline_ml: [SIMCO-CREAR.md, SIMCO-ML.md]
VERSIÓN LIGERA (SUBAGENTES)
Para subagentes con tareas específicas, usar versión reducida:
# CCA Ligero - Solo para subagentes
CCA_LIGHT:
PASO_1: "Identificar perfil, proyecto, tarea"
PASO_2: "Cargar ALIASES.yml"
PASO_3: "Cargar inventario del dominio"
PASO_4: "Cargar SIMCO de operación"
RESULTADO: "READY_TO_EXECUTE"
Ver también: @DEF_CCA_LIGHT
REFERENCIAS
- Perfiles que usan este protocolo: Todos los perfiles en agents/perfiles/
- Directiva relacionada: SIMCO-INICIALIZACION.md
- Versión ligera: @DEF_CCA_LIGHT
Última actualización: 2026-01-16 Mantenido por: @WS_ORCHESTRATOR