clinica-veterinaria/orchestration/_archive/_definitions/protocols/CCA-PROTOCOL.md
Adrian Flores Cortes 8bb46e4d08 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- 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>
2026-01-24 14:38:02 -06:00

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