ARES

ADR-0002: ARES owns its store; workers own theirs

Status: Accepted Date: 2026-07-22 (recorded retroactively)

Context

Upstream Hermes WebUI and the Hermes CLI share one state.db, written by the agent. The WebUI keeps a JSON “sidecar” as a cache and self-heals it from state.db whenever the agent has written newer turns (_sync_sidecar_from_state_db_if_newer). Continuing a terminal session works because both surfaces are views onto a single store.

ARES is not a client of one agent. It is a product that connects to several, each with its own home directory and its own store. .claude/CLAUDE.md forbids modifying a worker’s runtime state.

Decision

Two stores, with a one-way boundary:

ARES_HOME/state.db does not exist in a normal install.

Consequences

Good:

Costs:

Revisit if

ARES ever becomes the sole writer of a runtime’s state — at which point the sidecar could collapse into that store. Until then, prefer fixing a read seam over widening write access.