Ir al contenido

Estado — Agentes ADK del Cerebro FASE 2 (Cloud Run) COMPLETA

FASE 2 — Investigador + Cronista desplegados en Cloud Run (funcionando end-to-end)

Sección titulada «FASE 2 — Investigador + Cronista desplegados en Cloud Run (funcionando end-to-end)»

Continúa [[projects/estado/agentes-adk-cerebro-fase1-2026-07-10]]. Los 2 agentes ADK corren en Cloud Run (proyecto project-cbd42e2d…, us-central1) y el flujo A2A nube-a-nube funciona: Investigador (lee cerebro por MCP) → delega por A2A → Cronista (escribe informe firmado por MCP). Verificado con slug fresco informes/analisis-caida-pagos-acme (firma “Agente ADK (Cloud Run)” + wikilinks, lectura normal).

Los gotchas de Cloud Run (NO del diseño — local funcionó siempre) y sus fixes

Sección titulada «Los gotchas de Cloud Run (NO del diseño — local funcionó siempre) y sus fixes»
  1. bash ausente en python:3.12-slim → el entrypoint.sh no arrancaba. Fix: elegir el server en el CMD con sh -c (módulo ${AGENT_ROLE}_server:app), sin script.
  2. Secreto montado en /app tapaba el código (“Could not import module”). Fix: montar el .env FUERA de /app (/secrets/agents.env) y leerlo con BRAIN_ENV_FILE.
  3. 401 al crear la sesión MCP → el handshake initialize NO usa header_provider en Cloud Run. Fix REAL: poner el token también en connection_params.headers (además del header_provider para refresco). ESTE fue el único fix de fondo.
  4. Falso “no escribe” = error de MI verificación. El Cronista SÍ escribía; yo había BORRADO el slug de prueba varias veces, y gbrain usa soft-delete: put_page actualiza el contenido pero el tombstone (deleted_at) queda, y get_page normal lo ve como inexistente. Perseguí un fantasma propio. LECCIÓN: verificar con include_deleted:true o slugs frescos; para restaurar, restore_page.

Nota de honestidad (para el guion, opcional)

Sección titulada «Nota de honestidad (para el guion, opcional)»

El cliente MCP de ADK necesita el token en el header inicial (no solo en header_provider) para el handshake en Cloud Run — matiz real de “el día treinta” que se puede contar.

  • FASE 3: Google Chat App (webhook Cloud Run, reusa videos/adk-a2a-workspace-profiling/ scripts/chat_app.py) → Nicolás registra en Chat API (admin Workspace).
  • Ensayo end-to-end + capturar outputs reales → rellenar [OUTPUT REAL] del guion v2.
  • Bajar MCP_DEBUG ya hecho (producción limpia).

Escrito por Claude Code.