Young's Mind
Tech

LAB Hermes persona + memory alignment — default profile is Sol, not a duplicate

Requested by: Young (DM 2026-09-28): "Sol, Mira and Tam their personas and memory is not matching. Hermes default profile can you remove it and replace with sol." Host: LAB lab@192.168.4.60 (lab@ is the user — not sol@; the laptop key already authenticates, 8 accepted logins 09-26 21:02–21:18). SSH works with the existing laptop key; no new key or sudo was needed. Method: file:line inspection of ~/.hermes + ~/.solos/personas on LAB, guarded single-match edits with per-file backups, then gateway restart + read-back.

LAB Hermes persona + memory alignment — default profile is Sol, not a duplicate

Requested by: Young (DM 2026-09-28): "Sol, Mira and Tam their personas and memory is not matching. Hermes default profile can you remove it and replace with sol." Host: LAB lab@192.168.4.60 (lab@ is the user — not sol@; the laptop key already authenticates, 8 accepted logins 09-26 21:02–21:18). SSH works with the existing laptop key; no new key or sudo was needed. Method: file:line inspection of ~/.hermes + ~/.solos/personas on LAB, guarded single-match edits with per-file backups, then gateway restart + read-back.

What the default root actually is (so it is NOT deleted)

  • hermes-gateway.service runs with Environment=HERMES_HOME=/home/lab/.hermes — the default root IS the running Telegram gateway's home. rm -rf would take the gateway, cron/ (320K, 5× the sol profile), and the larger state.db (7.3M) with it.
  • Root is 3.9 GB vs profiles/sol 84 MB. It is not a stray duplicate; it is the parent the multiplexer runs on.
  • Only three personas have Hermes profiles: sol, min, mira. ace/atlas/echo/nova were retired from Hermes (.deleted markers 2026-09-28 20:32) and run A2A-only.

Two identity systems — the real cause of the mismatch

LayerSourceState found
A2A :8300-8307~/.solos/personas/*.mdcorrect, one file per agent
Hermes profilesprofiles/<n>/SOUL.md + memories/MEMORY.mdSOUL fine (sha-distinct per persona, stamps in sync); MEMORY.md carried retired-era facts

Corrections applied (2026-09-28 21:08–21:09, backups *.bak-align* alongside each file):

  1. profiles/sol/memories/MEMORY.md — "Distinct from SolManager (the Hermes parent…)" and "parent=SolManager" were both stale; SolManager was unwound 2026-09-28. Now states one Sol identity across default root + sol profile + A2A :8300, and lists the current profile set {sol,min,mira}.
  2. ~/.hermes/memories/MEMORY.md (default) — multiplex inventory omitted profiles/sol; corrected.
  3. ~/.hermes/memories/USER.md (default) — was missing the two standing-authority paragraphs profiles/sol carries (naming-grant scope, "Option B" enumeration check); now byte-equal to sol's.
  4. profiles/min/memories/MEMORY.md — claimed Telegram "unified on the SolOS TG Gateway" (stopped+disabled 2026-09-27) and that its identity came from personas/sol.md via the retired sync-soul-from-solos.sh; corrected to the multiplexed hermes-gateway and to personas/min.md via sync-solos-personas.sh.
  5. profiles/mira/memories/MEMORY.md — said "default=SolManager + profiles/{ace,atlas,echo,min,mira,nova}" and carried the unresolved "inherited Sol's MEMORY verbatim" todo; both corrected.

Verification (read-back after hermes gateway restart)

  • All four memory files open with their own identity: DEFAULT=sol, sol=sol, min=Min, mira=Mira ✅
  • Every SolManager mention remaining is provenance/history ("was unwound 2026-09-28; see personas/retired/"), not identity ✅
  • No byte-identical MEMORY.md/USER.md across profiles (all four sha256 distinct) ✅
  • sync-solos-personas.sh re-run: OK sol / OK min / OK mira; SKIPs for the retired profiles are expected ✅
  • The sync script writes only SOUL.md — it never touches MEMORY.md/USER.md, so these edits cannot be reverted by the 30-min timer ✅

Notes for whoever picks up the rest

  • active_profile flips as the last active chat changes (observed sol → min); that is multiplexer behaviour, not a persona fault.
  • Root SOUL.md and profiles/sol/SOUL.md are byte-identical by design (one Sol identity, two surfaces).
  • No tam/eva/eve personas exist on LAB — those agents are still laptop-resident; migration task task-5edc1a4d remains open.
  • Collapsing the default root (removing SolManager-era artifacts, e.g. trimming the 488 MB cache/) is safe housekeeping but is a separate decision — it is not required for identity correctness.
Copyright © 2026