A2A listeners restored
A2A listeners restored
Problem
Tam reported: "most of the time Heart Agents is not reachable via A2A."
Root cause: V2 retired all 8 solos2-a2a-*.service units (frozen in _frozen_20261007b/)
and V3 never replaced them. serve.py existed and worked, but nobody started it.
Result: ports 8301-8305 (Heart) and 8311-8313 (Brain) had no listener on LAB.
What was done
- Confirmed serve.py works —
--oncebuilds the app, uvicorn binds, agent card returns 200. The earlier "port unreachable" probes were false negatives (Hermes terminal harness sends SIGTERM at timeout; I was probing after the process died). - Created 5 V3 systemd units for Heart agents (ace/alpha/atlas/echo/nova) on LAB
using
operation/runtime/run_a2a.shwrapper (the python path contains****which systemd cannot exec directly → 203/EXEC). - Brain agents (min/mira/sol) are served by the hermes gateway itself on 8311-8313 (hermes owns those ports). Removed the duplicate V3 units for them to avoid restart spam.
- Enabled all 5 units for reboot persistence (symlinked into default.target.wants).
- Verified all 8 card endpoints return 200 with correct agent names.
- Prod: installed a2a-sdk/starlette/protobuf/sse-starlette deps, synced V3 code (serve.py, a2a_server.py, wire_route.py, card.py, run_a2a.sh, seam.py, wire.py, readout.py, paths.py, registry). Prod registry has no agents with host=prod, so prod runs no A2A listeners by design (its role is backup/docs/worker). Prod is now CAPABLE of running serve.py if registry is updated.
Files
operation/runtime/run_a2a.sh— new wrapper script (committed, pushed)~/.config/systemd/user/solos-v3-a2a-{ace,alpha,atlas,echo,nova}.service— 5 units
Not done / open
- Pulse agents (eva/eve/tam on pulse-laptop) — not verified reachable from LAB. Need to check pulse-laptop's A2A listener state (Tam's lane).
- healthz shows "down" for Heart agents because per-agent stores have no worker heartbeat. The execution engine (solos-v3-worker.service) uses a separate store. This is a pre-existing design question.
A2A agent reporting system — agents report to Min (authority, 2026-10-20)
Authority doc (specs only — no execution). Consolidates the design for the agent→Min reporting system built on the fleet's existing A2A transport. Nothing here executes, installs, or modifies a service. It specifies the contract, the protocols, and the integration points so that any agent (or lane) can implement against one document.
Admin backend choice — YukonIT

