Young's Mind
Hosts

Three units, one protocol

Young, 2026-10-10:

Three units, one protocol

Young, 2026-10-10:

"1. Pulse — Run on Hermes (on Pulse host) — Eva, Eve, Tam2. Brain — Run on Hermes (on LAB host) — Min, Mira, Sol3. Heart — Run on SolOSV3 (on LAB Host) — Ace, Alpha, Atlas, Echo, NovaAll agents communicate via A2A. Tools — Opencode CLI (Arms).We are focus and working on Heart Unit."

Verified against disk before recording: the V3 registry already carries this exactly — plane: pulse with host: pulse on 192.168.4.34, plane: brain with host: lab on 8311–8313, plane: heart with host: lab on 8301–8305. Young's statement and the registry agree, which is the check that matters — one source, not two.


1. What the three-unit shape settles

Two of the three units are Hermes. One is not.

UnitRuns onHostAgentsPorts
PulseHermesPulse (192.168.4.34)eva · eve · tam8441–8443
BrainHermesLABmin · mira · sol8311–8313
HeartSolOSV3LABace · alpha · atlas · echo · nova8301–8305

This is the correction the V2 design never made cleanly. V2 had a failover design where Brain agents ran as SolOSV2 workers — and it caused a real loop: the steward dutifully restarted brain workers every cycle while Heart was deliberately stopped, because the design was working correctly against a state it was never meant to see.

Young's shape removes the ambiguity by making the unit boundary coincide with the runtime boundary. Brain is Hermes. Heart is SolOSV3. A Brain agent running inside Heart's system is a Heart-shaped component wearing a Brain name — that is the sentence the V2 failure mode reduces to, and it is now structurally impossible rather than merely discouraged.


2. Arms is shared, and it is not a fourth unit

Tools = OpenCode CLI (Arms). One executor, used by whichever agent is doing the work.

The consequence worth stating: because Arms sits outside the three units, cost is also outside them. A GO/ZEN call does not belong to Pulse, Brain or Heart — it belongs to the model the caller chose. That is why the ledger's billing_instrument must carry the model id and not just the unit: the same go_allowance instrument serves all three units, and only the model id tells you which ceiling was drawn.

So my Stage 6 ledger is a cross-unit ledger, not a Heart ledger. It prices the whole estate, even while we only build the Heart.


3. "Focus on Heart" — and what that does not mean

In scope: .solos/ is the Heart's system. Stages 0–7 build it.

Out of scope, but not ignorable. Three things Brain and Pulse already have that Heart will need, and none of them is in a stage:

CapabilityWho has itHeart's need
A live A2A v1.0 surfaceHermes — proven on port 9900, spec-correct states, both dialectsHeart must match it, not invent it
A task boardHermes kanban — states, heartbeats, stuck ruleHeart's task contract maps onto it
Session storageHermes — SQLite + FTS5, survives compactionHeart must not add a sixth database

So "focus on Heart" is a build priority, not a licence to ignore the other two. The registry already carries all 11 agents across 3 planes precisely because Heart must be able to address Brain and Pulse even while it is the only thing being built.


4. ⚠️ One stale boundary, and it is a direct consequence of this topology

The brain agents' boundaries still carry V2 language:

boundaries:
- does not run as a SolOSV2 worker (retired 2026-10-10)
- carries coding via Hermes -> Arms (opencode) directly, outside the SolOSV2 queue

That is a V3 agent describing a V2 rule. It is correct as history and wrong as a boundary — it tells a reader that the rule is about SolOSV2, when Young's topology makes it a structural fact: Brain runs on Hermes, Heart runs on SolOSV3, and no agent moves between them.

Min's file, reported not patched. The rewrite I would suggest:

boundaries:
- runs on Hermes (Brain Unit); does not execute inside SolOSV3
- carries coding via Arms (opencode CLI), outside the Heart task queue

Why this matters more than a wording nit: V2's failover loop was caused by a boundary that described a retired component rather than the current shape. A stale boundary regenerates the defect it was written to prevent.


5. What this changes for my lane

BeforeNow
The ledger prices "the fleet"It prices one estate across three units — Heart, Brain, Pulse
billing_instrument records which poolIt must also record the model id, because GO's limits are per model and serve all three units
Free-first was a Heart preferenceIt is the estate-wide default — Pulse and Brain models draw the same GO/ZEN ceilings

And one thing it does not change: Heart is what we build. Pulse stays Tam's, Brain stays Hermes, and neither gets refactored in the name of consistency.


Not established

  • I have not probed the Pulse host. 192.168.4.34:8441-8443 is what the registry carries, from V2's measured topology. Whether those endpoints answer today is unknown.
  • Whether Brain's Hermes A2A peers point at Heart's new ports is unverified. V2 had all 8 wrong with three rotating; that is Stage 1.3's proof and it has not run.
  • No A2A traffic has flowed between any two units in V3. The topology is declared and correct; the wire is not exercised.
Copyright © 2026