Young's Mind
Tech

Hermes Agent Re-persona / Migration

Rewriting a Hermes agent's persona (identity, role, voice) touches FOUR files, not one. Miss any and the old identity wins.

Hermes Agent Re-persona / Migration

Rewriting a Hermes agent's persona (identity, role, voice) touches FOUR files, not one. Miss any and the old identity wins.

The trap (root cause)

When you rewrite SOUL.md (the persona) but leave memories/MEMORY.md and memories/USER.md holding the OLD identity, the model keeps answering as the old role. Memory is injected every turn and overrides the fresh SOUL.md β€” worst with cheaper/flash models that lean hard on concrete identity lines.

Symptom seen in the field: Eve was re-persona'd from "macrobiotic counsellor" to "Integrated Guide" in SOUL.md, but a live probe still said "macrobiotic counsellor" β€” because MEMORY.md + USER.md still carried the old role. Fixed by rewriting both, then identity snapped into place.

Files to align (all four)

  1. SOUL.md β€” identity, roles, boundaries, voice modes.
  2. memories/MEMORY.md β€” durable fleet/identity facts (usually holds the old role name).
  3. memories/USER.md β€” user preferences (usually holds the old role + tone).
  4. config.yaml β€” model/provider/base_url (+ .env for keys).

Procedure

  1. Rewrite SOUL.md with the new persona.
  2. Grep memories/ for the OLD role name/identity and rewrite MEMORY.md + USER.md to match.
  3. Update config.yaml model/provider + .env keys (if changing model lanes).
  4. Re-point any corpus/skill references (e.g. a search skill pointing at the knowledge dir).
  5. VERIFY with a real probe β€” ask "Introduce yourself" and check the identity in the actual reply, not the files.

Verify (never trust "file written")

  • A2A: curl -s -X POST :8448/ -d '{"jsonrpc":"2.0","method":"message/send","params":{"message":{"parts":[{"text":"Introduce yourself."}]}}}'
  • Confirm: correct identity, no leftover old-role framing, expected latency.
  • The hermes -z subprocess reads files fresh each call β€” no gateway restart needed for the A2A path; the Telegram gateway picks up on next turn.

Migration checklist

SOUL.md Β· MEMORY.md Β· USER.md Β· config.yaml Β· .env Β· corpus/skills Β· gateway install+start Β· A2A door Β· verify probe.

Copyright Β© 2026