Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0121

ADR-0121: The deployed Hermes subagent keeps persistent curated memory across runs; the user profile stays off

field value
Status Accepted — Accepted (ruling, Mohamed, 2026-10-20)
Date 2026-10-20
Register factory (docs/adr, 4-digit ids)
Source docs/adr/0121-hermes-subagent-keeps-persistent-curated-memory-user-profile-off.md — permalink at c435b7b6e (unchanged on master since that commit)
Wiki register entry ADR-0121 (wiki status: Accepted)

← ADR-0120 · ADR-0122 →

The record

Status: Accepted (ruling, Mohamed, 2026-10-20) · Date: 2026-10-20

Context

The Hermes subagent deployment (/opt/hermes, source repo ~/workspace/hermes, release fe6abf5 at ruling time) was deliberately stateless — its config comment read "A subagent keeps no personal state: no memory, no user profile", with memory_enabled: false and user_profile_enabled: false. The agent ships a memory mechanism that the flag gates off: a memory tool managing a bounded MEMORY.md (2,200 chars) and USER.md (1,375 chars) in $HERMES_HOME/memories/, injected into the system prompt as a frozen snapshot at session start and self-managed by the agent across runs. The coordinator measured all of this and reported it; Mohamed ruled.

Decision (Mohamed, 2026-10-20, verbatim)

"you must allow hermes memory"

Implemented as: memory_enabled: true in the deployment's home config (deploy/home/config.yaml, rendered per release). The subagent keeps MEMORY.md at $HERMES_HOME/memories/ — bounded, self-managed via the memory tool, injected at session start. user_profile_enabled stays false (the ruling names memory only). The change ships through the deployment pipeline — repo commit → deploy/install.sh → a new immutable release → hermes-task verify — never by editing the deployed release or home in place.

Alternatives rejected

Consequences

Provenance

Mohamed, in-session, 2026-10-20, session 272: "you must allow hermes memory" (verbatim). Change: ~/workspace/hermes commit 3b5dbcb; new release installed to /opt/hermes in the same turn.

No other ADR is named in this record.

Rulings cited

None.

Specs cited

None (or no spec page exists for the ones named).