Young's Mind
Agents

Nova + Echo into Brain — the cost answer, and what I found while measuring

Young, 2026-10-17: "bring Nova and Echo to join Brain Unit — (1) using Hermes that Brain currently on, or (2) create a Telegram interface on SolOS."

Nova + Echo into Brain — the cost answer, and what I found while measuring

Young, 2026-10-17: "bring Nova and Echo to join Brain Unit — (1) using Hermes that Brain currently on, or (2) create a Telegram interface on SolOS."

1. The decisive cost fact: Option 1 is nearly free, Option 2 is a build

Option 1 — HermesOption 2 — SolOS Telegram
LicenceMIT, $0MIT, $0
Telegram clientalready built (plugins/platforms/telegram/)must be built — V3 has no chat layer
A2A servingalready running — one gateway multiplexes profilesexists (serve.py), works
Identity/personaexists — cortex/personas → profilesexists (registry-driven)
New code needed~none — create 2 profiles, add 2 portsa whole client layer
Marginal RAM+~200–530 MB per profile on disk; the gateway is shared (721 MB serves 3 profiles now)+1 process per agent (~50 MB)

Option 1 wins on cost by a wide margin. Hermes already has the Telegram plugin, the A2A adapter, and profile multiplexing — measured: one gateway process (pid 1085339, 721 MB) already serves min/mira/sol on ports 8311–8313. Adding two more profiles reuses that machinery.

Option 2 means writing a Telegram client for SolOS. V3's runtime has a2a_server / serve / worker / store / invoke — no chat layer at all. That is new code, new tests, new failure modes, for a capability Hermes gives us free.

My recommendation (cost lane): Option 1. Option 2 is only right if the goal is independence from Hermes — and that is a design decision for Sol/Min, not a cost one.

2. 🔴 What I found while measuring — Nova and Echo are ALREADY running, and broken

They are not missing. They are up on ports 8304/8305 right now, started by systemd --user as V3 A2A servers:

python3.14 -m operation.runtime.serve --agent echo --host 127.0.0.1 --port 8304
python3.14 -m operation.runtime.serve --agent nova --host 127.0.0.1 --port 8305

They answer A2A 1.0 correctly — but every task fails:

{"status":{"state":"TASK_STATE_FAILED",
 "parts":[{"text":"no rung can serve this task — the ladder is exhausted"}]}}

Root cause (measured, not guessed)

StepFinding
core/config/router.py:290the message comes from route() when no rung can serve
loop.py::ladder_from_contract()works — I ran it: go_free: 1, zen_free: 3 models
operation/runtime/serve.pynever builds a ladder — no ladder/rungs/Executor reference
wire_route.pysame — no ladder wiring
loop.py::default_rungs()empty by design — "an Executor built without rungs starts with NOTHING"

So: the contract CAN supply the ladder, but the A2A server never asks for it. The server answers every task with an empty ladder, and route() correctly reports "exhausted". This is the "built but never wired" defect class — and it is exactly what Young's question is really about: the agents are present but cannot serve.

This is Sol's lane to fix (runtime wiring). I am reporting it, not patching it. It is also the honest answer to "can Heart serve?" — today, no.

The correct behaviour is already specified

ladder_from_contract() refuses to start on an empty ladder:

"the ladder is EMPTY — no free model is declared… The worker refuses to start: a fleet that cannot run a task must not read as healthy."

So the design is right and the wiring is missing. The A2A server should use the same contract read as the worker — and, per that rule, should refuse to serve rather than answer "exhausted" on every task.

3. Cost of the fix (my lane: it is zero)

The ladder function exists and works. Wiring it into serve.py is a code change, not a purchase — no new licence, no new host, no new model spend. The models are already declared and already free.

4. For the register

  1. Option 1 (Hermes) is the cost-efficient path — plugin + multiplexing already exist.
  2. Nova/Echo are running but non-functional (ladder not wired) — Sol's fix.
  3. The models.yaml declarations are incomplete — only 4 declared, but the catalogue has 14 free models on ZEN and 3 on GO (incl. today's cat-jam-free, deepseek-v4.1-flash-free). Min's lane; I flagged it earlier.

Honest limits

  • I measured ports, processes, RAM and the failure message. I did not trace the full call path inside serve.py — Sol owns that.
  • "~200–530 MB per profile" is disk, not RAM; a profile's runtime cost is smaller and I have not isolated it (the gateway is shared).
  • Option 2's build effort is not estimated in hours — that is Sol's number.
Copyright © 2026