michangarrito/orchestration/_archive/_definitions/protocols/CCA-PROTOCOL.md
Adrian Flores Cortes 2fb9f3f6b5
Some checks are pending
CI/CD Pipeline / Backend CI (push) Waiting to run
CI/CD Pipeline / Frontend CI (push) Waiting to run
CI/CD Pipeline / WhatsApp Service CI (push) Waiting to run
CI/CD Pipeline / Mobile CI (push) Waiting to run
CI/CD Pipeline / Docker Build (./apps/backend, ./apps/backend/Dockerfile, backend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/frontend, ./apps/frontend/Dockerfile, frontend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/whatsapp-service, ./apps/whatsapp-service/Dockerfile, whatsapp-service) (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
[ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- Move 7 non-standard folders to _archive/
- Archive 3 extra root files
- Update _MAP.md with standardized structure

Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0
Level: CONSUMER (L2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 14:38:04 -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