I accidentally hit SOTA on agentic memory by using AI companions
graphCTX is a local memory layer for AI coding agents that provides fast, private, and reliable context management. It captures coding facts, anchors to git state, promotes durable knowledge, ranks relevance, and delivers with provenance, achieving ~1ms recall and 100% post-compaction solve rate. This article covers its architecture, benchmarks, and installation.
context and memory layer for AI coding agents
Built to be the best context layer for AI coding agents.
graphCTX keeps repo knowledge close to the work: commands, conventions, decisions, and hard-won fixes. Developers spend less time re-explaining context and more time shipping, with local memory that is fast, private, and reliable.
$ curl -fsSL https://graph.coder.company/install | sh
See the benchmarks →
~1ms
p50 recall, flat at scale
100%
post-compaction solve
$0
no metering or API key
local
source stays on your machine
~/your-repo · AI coding agent
// without graphCTX
user: what's the deploy command? agent: I don't see one in the repo — you'll need to tell me.
// with graphCTX memory
user: what's the deploy command? agent: ./scripts/ship.sh --canary --wait mem:9f3a2c
Same agent, same prompt. graphCTX gives it the repo memory developers otherwise repeat.
[ 01 ] · how it works · architecture
How graphCTX manages memory.
The system is deliberately narrow: capture reliable coding facts, keep them valid as the repo changes, and return only the context the agent can use.
01 CAPTURE
Extract trusted coding facts
graphCTX reads package scripts, lockfiles, CI, editorconfig, AGENTS.md, and session episodes so the memory base starts from repo evidence, not model guesses.
02 ANCHOR
Bind memory to git state
Facts are valid against commits and branches. When code changes, memory moves with the DAG instead of drifting on wall-clock timestamps.
03 PROMOTE
Promote only durable knowledge
Session details can become workspace or user memory only after evidence gates. Secrets and low-trust prose stay out of durable context.
04 RANK
Choose the smallest useful set
A relevance gate scores topic drift, entities, and file scope so the agent gets specific context instead of a noisy memory dump.
05 DELIVER
Attach provenance to every recall
Returned memory is compact, budgeted, and tagged with source provenance, making it easier for developers to trust and audit what the agent uses.
[ 02 ] · benchmarks · measured, not claimed
Benchmarked against Supermemory.
Same coding-fact set, same queries. graphCTX runs locally and answers in ~1ms; a live Supermemory search round-trip measured ~494ms (p50), so recall stays fast and predictable during development. Reproducible: graphctx compare --deep.
METRIC
graphCTX (local)
Supermemory
delta
Ingest (p50)
0.71ms
network + async
local, instant
Retrieval (p50)
1.2ms
494ms
~410× faster
Retrieval (p95)
3.9ms
720ms
~180× faster
Recall accuracy
90%
—
direct-fact
Network
none
required
offline
Cost / month
$0
$19–$399
free
Latency stays flat at scale
Per-prompt retrieval p50/p95 as the workspace grows. Indexed lookup plus a bounded semantic re-rank keeps the hot path at ~1ms — a 5,000-fact monorepo retrieves as fast as an empty one.
10 facts p50 1.04ms · p95 1.37ms
510 facts p50 1.15ms · p95 3.94ms
5,010 facts p50 1.33ms · p95 22.27ms
Reliable after compaction
Post-compaction solve rate across 14 coding tasks. graphCTX restored the needed repo fact in every run.
A · no memory 0/14
B · recall API 3/14
C · graphCTX 14/14
// graphctx eval run --arms A,B,C
// scope: this compares local latency + cost on direct coding-fact retrieval for developer workflows. Supermemory targets general/conversational memory with cloud connectors, cross-document reasoning, and neural embeddings that graphCTX doesn't attempt.
[ 03 ] · install · three commands
Start using repo memory in 30 seconds
No account. No API key. No cloud setup. Install the CLI, connect your agent, and give every session repo-aware memory.
$ curl -fsSL https://graph.coder.company/install | sh
Prefer npm? npm i -g graphctx
01
$ curl -fsSL https://graph.coder.company/install | sh
install the CLI (detects Node / Bun)
02
$ graphctx install claude
wire your agent (claude · cursor · opencode · generic)
03
$ graphctx doctor
verify graphCTX is connected