agentmemory
persistent memory for coding agents: BM25 plus vectors, supersession by overlap, 54 MCP tools. https://github.com/rohitg00/agentmemory
- Core
- 65% · 35.5 / 55 (mean)
- Core (public2)
- 70% · 38.6 / 55 (mean)
- Private set
- no drop detected (±4.2) · δ 3 · shift −2.8 from 5 other memories · public2 3 builds, private 1 · holdout-v1 3cd42b9f
- Full
- 66% · 42.6 / 65 · 65 of 100 measured
- Runs
- 3 · core 35.5–35.5 · the details below are the median run
- Common with gbrain
- 42.6 vs 50.4 on 65
- Chars per answer
- 6,426 · answer after 271
- Write → visible
- 26 ms · p95 35 ms
- Write-back
- 0 of 0 degraded answers came back
- Reached through
- MCP / REST
- Model on write
- no (keyless)
- Key needed
- none
- Where it runs
- local
- License
- Apache-2.0
- Deterministic
- yes
Configuration
| Version | @agentmemory/agentmemory 0.9.29 (npm) with iii-engine 0.11.2 |
| Mode | keyless: no key reaches the server, provider noop, no LLM feature |
| Door | memory_recall(query, limit=10) through POST /agentmemory/mcp/call, the route the MCP stdio shim forwards to; the tool's own text |
| Results | limit 10 (its default), format full (its default), no relevance floor, no cut |
| Model inside | none (provider noop) |
| Embeddings | Xenova/all-MiniLM-L6-v2, 384 dimensions, local |
| Storage | local scratch data directory on the iii engine (format not stated) |
| Not default | EMBEDDING_PROVIDER=local, for local vectors without a key (whether the default provider differs is not stated) |
Notes: npm 0.9.29 with iii 0.11.2, keyless: local all-MiniLM-L6-v2 vectors, no LLM; door = memory_recall's own text. Run 2026-09-30, door recall,
fingerprint 34483ae0a3. Report:
examples/agentmemory_report/reference.md · All runs: examples/agentmemory_report/repeats.json · public2: examples/agentmemory_report/reference_public2.md
Sections
door | 18.8 of 25 · 6 pass · 2 fail | FAIL Which version of MailBridge is installed for the mailbox? — STALE value delivered next to the current one: 1.3.0 FAIL What is the owner's phone number? — missing +39 |
cards | not measured | section not measured: no entity cards in this memory |
updates | 6.7 of 10 · 2 pass · 1 fail | FAIL restating the current value does not pile up a second copy — 3 copies delivered |
time | 6.7 of 10 · 4 pass · 2 fail | FAIL semantic memories carry their age (39/52) — 75% FAIL an imported memory reaches the door with its original date — served with no date |
live state | 7.1 of 10 · 5 pass · 2 fail | FAIL after overwriting the canary the door serves the new value, never the old one — overwrite-to-visible 28 ms · STALE: old and new value delivered together FAIL two writes in quick succession: the door settles on the second, never back on the first — second write visible in 32 ms · 30 read(s) served the first write after the second was already visible |
abstention | 3.3 of 10 · 0 pass · 4 fail | FAIL What is the Zarpetta module? — episodes presented as direct matches; 7 keyword facts for something that does not exist FAIL Who is Ottavio Brambillesco? — episodes presented as direct matches; 6 keyword facts for something that does not exist FAIL Which port does the Fulmicotone service use? — episodes presented as direct matches; 7 keyword facts for something that does not exist FAIL What does the calendar plugin Girandola do? — episodes presented as direct matches; 7 keyword facts for something that does not exist |
file search | not measured | section not measured: no repo configured (--repo) |
graph | not measured | section not measured: no case with evidence (all SKIP or no cases) |