©2026 adebench · adecubedbuilt 2026-11-04 from the reports in the repo

← leaderboard

engram

one Go binary with SQLite full-text search, memory for coding agents over MCP. https://github.com/Gentleman-Programming/engram

Core
64% · 35.2 / 55 (mean)
Core (public2)
44% · 24.4 / 55 (mean)
Private set
no drop detected (±5.7) · δ 3 · shift −2.8 from 5 other memories · public2 3 builds, private 1 · holdout-v1 3cd42b9f
Full
70% · 45.2 / 65 · 65 of 100 measured
Runs
3 · core 35.2–35.2 · the details below are the median run
Common with gbrain
45.2 vs 50.4 on 65
Chars per answer
4,314 · answer after 978
Write → visible
34 ms · p95 35 ms
Write-back
2 of 2 degraded answers came back
Reached through
MCP / CLI
Model on write
no
Key needed
none
Where it runs
local
License
MIT
Deterministic
yes
Configuration
Versionengram 2.2.1 (Windows release binary)
Modelocal binary, MCP stdio with the agent tool profile (engram mcp --tools=agent, 19 tools), fresh store
Doormem_search(query, match_mode="any", limit=10) over MCP stdio; the door is the tool's whole JSON text
Resultslimit 10 (Engram's default), no cut
Model insidenone
Embeddingsnone (SQLite FTS5 full-text search)
StorageSQLite with FTS5
Not defaultmatch_mode "any" instead of the tool's default "all" (with "all" a question asked as it is finds nothing); a fresh scratch data directory instead of the default one in the user's home (deletes are soft and the probes' conflict relations stay behind)

Notes: 2.2.1 Windows release, MCP stdio with the agent tool profile (19 tools), door mem_search in 'any' mode (the default 'all' finds nothing for a verbatim question), fresh store. Run 2026-09-30, door search, fingerprint d3dc508ab2. Report: examples/engram_report/reference.md · All runs: examples/engram_report/repeats.json · public2: examples/engram_report/reference_public2.md

Sections
door
21.9
of 25 · 7 pass · 1 fail
FAIL What is the owner's phone number? — missing +39
cards
not measuredsection not measured: no entity cards in this memory
updates
3.3
of 10 · 1 pass · 2 fail
FAIL a new write with a changed value replaces the old one at the door (no id given) — new value served in 40 ms; STALE: the old value is still delivered (31 reads with both)
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 (37/72) — 51%
FAIL an imported memory reaches the door with its original date — served with no date
live state
10.0
of 10 · 7 pass · 0 fail
abstention
3.3
of 10 · 0 pass · 4 fail
FAIL What is the Zarpetta module? — episodes presented as direct matches; 10 keyword facts for something that does not exist
FAIL Who is Ottavio Brambillesco? — episodes presented as direct matches; 10 keyword facts for something that does not exist
FAIL Which port does the Fulmicotone service use? — episodes presented as direct matches; 10 keyword facts for something that does not exist
FAIL What does the calendar plugin Girandola do? — episodes presented as direct matches; 10 keyword facts for something that does not exist
file search
not measuredsection not measured: no repo configured (--repo)
graph
not measuredsection not measured: no case with evidence (all SKIP or no cases)