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).
- Investigador: https://investigador-39303680563.us-central1.run.app
- Cronista: https://cronista-39303680563.us-central1.run.app
- Un solo imagen Docker, rol por env
AGENT_ROLE. Secreto.envmontado desde Secret Manager (agentes-cerebro-env) en/secrets/agents.env(viaBRAIN_ENV_FILE).
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»- bash ausente en python:3.12-slim → el entrypoint.sh no arrancaba. Fix: elegir el
server en el
CMDconsh -c(módulo${AGENT_ROLE}_server:app), sin script. - Secreto montado en /app tapaba el código (“Could not import module”). Fix: montar
el
.envFUERA de /app (/secrets/agents.env) y leerlo conBRAIN_ENV_FILE. - 401 al crear la sesión MCP → el handshake
initializeNO usaheader_provideren Cloud Run. Fix REAL: poner el token también enconnection_params.headers(además del header_provider para refresco). ESTE fue el único fix de fondo. - 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 coninclude_deleted:trueo 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.
Pendiente
Sección titulada «Pendiente»- 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_DEBUGya hecho (producción limpia).
Escrito por Claude Code.