Repo for the ongoing research project on agentic memory
  • Python 40.8%
  • TypeScript 37.7%
  • MDX 9.2%
  • JavaScript 5.5%
  • Go 1.4%
  • Other 5.1%
Find a file
2026-06-08 16:24:49 +02:00
_cross-harness-memory agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
_papers agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
claude-code agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
hermes-agent agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
opencode agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
pi-coding-agent agent-memory: flattened self-contained research archive 2026-06-08 15:16:21 +02:00
.gitignore Ignore local CLAUDE.md (root-anchored; keeps module CLAUDE.md content tracked) 2026-06-08 16:24:49 +02:00
README.md README.md edit 2026-06-08 16:10:33 +02:00

Agentic Memory Archive

A research archive of agent-harness memory modules, assembled for the ResMA tutorial Configuring the Human: Subjectivities, Individuation, and the Memory Architecture of Agent Harness (UvA Media Studies, supervisor Prof. dr. Tobias Blanke).

The archive supports Phase A — Cartography of the project: a close reading of how contemporary agent harnesses configure the human user through their memory layer, read as cultural text in the Critical Code Studies sense. It is also the empirical horizon against which the constructive artefact — a pi-mono extension — positions itself.


What is in here

Four harness ecosystems, one directory each, plus a shared layer of canonical memory-architecture codebases and a primary-literature PDF layer. Each ecosystem directory holds the harness core (read as primary text) and the memory modules / plugins / skills that bind to it. Cross-harness and research-grade systems live once in _cross-harness-memory/; the papers behind them live in _papers/.

agent-memory/
├── README.md                  ← you are here
├── claude-code/        (13 repos)  SET 1 — Claude Code + native primitives + plugins/skills
├── pi-coding-agent/    (13 repos)  SET 2 — earendil-works/pi (the project's harness) + 8 memory exts
├── hermes-agent/        (7 repos)  SET 3 — NousResearch Hermes + open providers + Honcho self-host
├── opencode/            (7 repos)  SET 4 — sst/opencode + its memory-plugin ecosystem
├── _cross-harness-memory/ (12 repos)  Canonical engines: Letta, Graphiti, A-MEM, MIRIX, Cognee, mem0…
└── _papers/            (11 PDFs)   Primary literature — the memory-architecture papers (arXiv)

52 vendored modules + 11 papers, ~0.8 GB. Per-repo detail, install paths, and the reading-axis scoring tables live in each directory's _OVERVIEW.md; every module also carries an in-place _MODULE.md component review. The paper index + paper→code mapping is in _papers/README.md.


Why these four ecosystems

Ecosystem Memory philosophy in one line Role in the research
Claude Code Closed harness; native CLAUDE.md (user-authored) and auto-MEMORY.md (agent-curated) in one stack; richer memory bolted on via MCP plugins + hooks. The dominant agent-curated pattern, plus a built-in authorship-axis contrast within one harness.
pi-coding-agent Minimal AGENTS.md harness + TypeScript extension/event API; no native user-model memory — but a lively extension ecosystem (8 archived). The implementation surface for the artefact, and the incumbent design space it enters.
Hermes Stateful harness; MEMORY.md / USER.md split, char caps, agent-curated nudge, 8-provider interface; frozen-snapshot injection. The evaluation baseline and clearest prior art for user/environment separation.
OpenCode Open MIT AGENTS.md harness, pi-shaped; no native long-term memory; the origin of the Letta-block plugin pattern the project cites. The closest comparison class to the pi-based artefact; two minimal AGENTS.md harnesses side by side.

The two minimal AGENTS.md harnesses (pi, OpenCode) and the two stateful/closed ones (Hermes, Claude Code) bracket the design space; the canonical engines in _cross-harness-memory/ supply the research-grade reference points the project positions against.


The reading axes

The archive is organised so that every module can be read against the project's evaluation axes (project-description.md §5), plus the six memory operations of Du et al. 2025 (_papers/du2025-rethinking-memory…, arXiv 2505.00675):

  1. Authorship of the user-model — agent-curated (LLM writes the user) vs. user-authored (the user is author-of-record). Where does the writing happen?
  2. Auditability — can the user inspect everything the harness represents about them? File-on-disk vs. opaque vector/SQLite store.
  3. Direction of the dialectic — between the agent and its accumulating model, or between the user and the harness's mirror of them?
  4. Locality — local-only / no-exfiltration vs. cloud/hosted service.
  5. Six-operation coverage — Consolidate / Update / Index / Forget / Retrieve / Compress (Du et al.). File-based systems do consolidate/update/retrieve well, index/forget weakly; graph/vector systems cover all six.

A per-repo scoring of these axes is maintained in each _OVERVIEW.md. The recurring finding across all four sets: the file-based, AGENTS.md-native layers are user-authored + auditable but have no user-model loop; every module that adds the loop hands authorship back to the agent. No archived system makes the user author-of-record of an editable counter-mirror.


Provenance

This archive is a read corpus, not a working install — nothing here is wired into a live harness. The 52 modules were originally cloned with full git history; for sharing and peer review the archive was flattened into a single self-contained git repository — each module is now vendored as plain files (its upstream .git removed) so the whole corpus clones in one shot with no submodule/GitHub dependency. Upstream URLs + licences are recorded per module in the _OVERVIEW.md tables and each _MODULE.md header, so any module's original history is recoverable by re-cloning from source.

To keep the repo reviewable, a lean prune dropped non-source bloat (vendored node_modules/, demo videos/GIFs, compiled binaries, oversized non-paper PDFs); all source code, all _OVERVIEW.md/_MODULE.md notes, and the 11 research PDFs are retained. PDFs in _papers/ are arXiv preprints; filenames carry the readable slug + arXiv id.

Coverage notes.

  • Hermes providers: of the 8 external providers, only the open ones are cloned as upstream repos — Supermemory, Honcho, Mem0. The other five (OpenViking, Hindsight, Holographic, RetainDB, ByteRover) are cloud/CLI services with no public engine; their Hermes-side adapter code is present at hermes-agent/hermes-agent/plugins/memory/.
  • Canonical engines: the research-grade systems in _cross-harness-memory/ are mostly large frameworks (Letta, CrewAI, Cognee, the MCP servers monorepo) cloned with full history; see that set's _OVERVIEW.md for the paper↔code mapping and licence flags (Honcho & basic-memory are AGPL-3.0 — copyleft; verify before any reuse).
  • Not cloned / dropped: Memory-R1 (arXiv 2508.19828) — paper PDF in _papers/, but its code repo is unverified, so no clone. doobidoo/mcp-memory-service — removed from GitHub since nomination.
  • Disambiguation: pi-coding-agent/pi-memory-samfp is @samfp/pi-memory; the report's jayzeng/pi-memory is archived as pi-memory-jayzeng. opencode-agent-memory was moved from the shared layer into its native opencode/ set.