El transporte fantasma — WS → CCR
leer en tablet- Abrir dossier HTML →
- Diagnóstico CERRADO + fix VALIDADO (round-trip PONG)
- Causa: 2.1.185 cambió --sdk-url de WebSocket a SSE+REST
- Decisión ADR-0004 · bloquea spawn-plane
mks-agentics · Verificación E2E · 2026-06-21
Documentación viva de todos los use cases del ecosistema a2a. Desde una sesión básica con proxy hasta el E2E completo en workspace remoto con channels, spawn y mensajería bidireccional realtime.
Cómo reverseamos el cambio de transporte de --sdk-url (WebSocket → CCR SSE+REST) que tiró el spawn del harness en el binary 2.1.185, y el fix validado end-to-end. La épica completa: el leak original que se volvió columna del proyecto, la evolución del transporte en 3 etapas, y el round-trip PONG sobre el protocolo reverseado desde cero.
Cada playbook verifica un camino específico a través de este ecosistema. El diagrama muestra los 5 componentes principales y cómo se interconectan: broker público (bus central), workspace container (ejecución remota), gateway-proxy (multi-provider), gateway-web (UI), y el Mac de waxin (cliente).
Cada playbook es autocontenido: tiene su propio diagrama de arquitectura, fases de verificación con criterios de cierre concretos, bloques de comandos copypasteables, árboles Q&A para diagnóstico, y matriz de verificación. Se renderizan a HTML con /dossier — un solo archivo portable.
cl minimax --proxy → sesión básicacl minimax --proxy --channelsCada .dossier.md se renderiza a un HTML autocontenido con:
Abrir cualquier .html en el navegador o en la tablet.
docker exec <container> which a2a-mcp → /usr/local/bin/a2a-mcpclaudio minimax --env --channels → mergea a2a MCP + channelscl minimax --proxy arranca sin errores Claude Code con MiniMax vía proxycl minimax --proxy --channels se ven mutuamente ListPeers muestra 2 peers| # | Playbook | HTML | Esfuerzo | Depende de | Estado |
|---|---|---|---|---|---|
| P0 | PREREQUISITES | Abrir HTML | 30 min | nada | ⏳ |
| UC1 | Proxy Provider | Abrir HTML | 5 min | P0 | ⏳ |
| UC2 | Gateway-Web Session | Abrir HTML | 10 min | P0 | ⏳ |
| UC3 | Mac Peers Channels | Abrir HTML | 15 min | P0 + UC1 | ⏳ |
| UC4 | Spawn Peer Local | Abrir HTML | 20 min | P0 + UC3 | ⏳ |
| UC5 | Workspace E2E | Abrir HTML | 30 min | P0 + UC3 + UC4 | ⏳ |
| Sub-fase | Qué | Playbook | Estado |
|---|---|---|---|
| 0.18.A | Proxy público (fail-closed) | UC1 | ✅ DONE |
| 0.18.B | Usage tracking Tier-1/2 | UC1 | ✅ DONE |
| 0.18.C | UI dashboard | — | ⏳ queued |
| 0.18.D | Broker flip público + P0 fixes | UC3 | 🔵 EN CURSO |
| 0.18.E | OIDC client_credentials + a2a MCP settings + claudio spawnViaBroker | UC3 | ✅ DONE |
| 0.18.F | G1 GitHub Release + G2 OIDC creds workspace + G3 env vars + claudio --channels broker | UC5 | ✅ DONE |
Verificar P0 (prerrequisitos) primero
UC4 requiere GATEWAY_MODE=runner corriendo en Mac
La imagen Docker del workspace necesita rebuild para incluir update-a2a-mcp.sh
Ejecutar P0 — verificar que el ecosistema base está vivo:
# 1. Broker
curl -s https://broker.gateway.mks2508.systems/healthz
# 2. Workspace
curl -s https://lab1-helsinki.api.mks2508.systems/health
# 3. Proxy
curl -s https://proxy.gateway.mks2508.systems/health
# 4. claudio
claudio minimax --env --channels 2>&1 | head -5
Si todo verde → UC1 (cl minimax --proxy). Si algo falla → abrir PREREQUISITES.html para diagnóstico.