Expand description
ORCH-12 — the memory noun at the OBSERVED tier: read and search the
persistent cross-session memory documents a harness keeps on disk.
supercode never runs a memory engine (charter). There is no index, no
embedding, no ranking here: show opens the files the harness’s own
loader opens and reports them; search is a plain substring (or, opt-in,
a regular-expression) scan over those same files. Every mutation —
hermes memory off, openclaw memory forget|reset, Claude Code’s
/memory — stays the harness’s own verb.
Three harnesses have a memory store at the pinned versions, each read from its own primary source:
- Claude Code — the Claude-maintained per-project auto-memory
directory
<claude home>/projects/<encoded-cwd>/memory/: aMEMORY.mdindex plus one file per topic (docs/composable-harness/inventory/claude-code.md§2 “Auto memory”,docs:memory#auto-memory). The directory is keyed by the enclosing git repository and shared across its worktrees, so the project is resolved from the repo root ofcwd. Relocation via theautoMemoryDirectorysetting is NOT modelled; name a relocated directory directly withprofile(an absolute path is accepted). - Hermes 0.21.0 —
get_memory_dir()isget_hermes_home()/"memories"holdingMEMORY.md(the agent’s own notes) andUSER.md(what it knows about the user) (tools/memory_tool.py:55-57,hermes_cli/web_server.pymemory-status endpoint, both at tagv2026.7.20). Profile mode pointsHERMES_HOMEat<root>/profiles/<name>, so every profile home is read the same way. The root-levelMEMORY.md/USER.mdnames Hermes’s own profile export manifest lists (hermes_cli/profiles.py:238) are read too, so an install that still keeps them there is not silently empty. - OpenClaw 2026.7.1-2 — the bundled
memory-coreextension’s memory files are, verbatim from its own classifier (extensions/memory-core/src/memory/qmd-manager.ts:156-165at tagv2026.7.1-2),MEMORY.md,DREAMS.md/dreams.md, and everything undermemory/— all relative to the AGENT WORKSPACE ([openclaw_workspace], transcribed fromresolveAgentWorkspaceDir).openclaw memory searchis that extension’s own door over the same files; supercode reads the files rather than shelling out, so no gateway or index is required.
Codex, opencode and pi have no memory store at the pinned versions
(docs/composable-harness/inventory/orchestration.md row 14 — pi is
config-only), so they are refused with MemoryError::UnsupportedHarness,
never answered with an empty list.
Structs§
- Memory
Document - One memory document, as one harness holds it.
- Memory
Match - One line of one memory document that matched a search.
- Memory
Query harness.v1.memory.showrequest.- Memory
Search Query harness.v1.memory.searchrequest.
Enums§
- Memory
Error - Read-only memory failures.
- Memory
Scope - Which config home a memory document belongs to, in the vocabulary shared by all three harnesses.
Constants§
- MEMORY_
HARNESSES - Harnesses with a memory store supercode reads, in product order. Every
other harness id is
MemoryError::UnsupportedHarness. - MEMORY_
SCHEMA - Stable row schema shared by Rust, JSON-RPC, the SDKs, and the CLI.
Functions§
- search_
memory - Search the same documents
show_memoryreports, line by line. - show_
memory - Read the memory documents the query selects.
- supports_
memory - Whether supercode reads a memory store for this harness.