# Memory Model Memory is managed by the runtime memory store and exposed via Acheron service paths. A small set is Read Only Memory for the agent and contains the basic operating rules (the system prompt). Some memory is non evict-able and so always loaded in the agents context. ## Implementation Memory is stored long term by a versioned database, context is a subset of this. Agents explicitly control load, mutates and mutations. ### Access Paths Use `/agents/self/memory` control files instead of calling `memory_*` tools directly: - `/agents/self/memory/control/create.json` - `/agents/self/memory/control/load.json` - `/agents/self/memory/control/versions.json` - `/agents/self/memory/control/mutate.json` - `/agents/self/memory/control/evict.json` - `/agents/self/memory/control/search.json` Results and status: - `/agents/self/memory/result.json` - `/agents/self/memory/status.json` ## Seeded Runtime Memories The runtime seeds system instructions and loop/tool contracts on boot (see `src/memory_schema.zig`). These include: - `system.policy` - `system.loop_contract` - `system.tool_contract` - `system.completion_contract` ## Implementation Pointers - Memory schema + seeds: `src/memory_schema.zig` - Memory tool execution + persistence hooks: `src/brain_tools.zig`, `src/agent_runtime.zig`, `src/system_hooks.zig` - Acheron bridge: `src/fsrpc_session.zig`