Persistent memory · for every coding agent you run

Persistent Agent Memory

Stop wasting tokens on re-indexing. Nool provides agents with a high-fidelity semantic graph of your project's history and intent.

  • Budgeted context packets: one symbol lookup returned 249 bytes vs 658 for grep-then-read (~2.6× fewer, single-lookup measurement, nool 7.8.0).
  • Durable record of engineering decisions and findings.
  • Zero-loss handoffs between agents and human developers.
Write a finding once, retrieve it in every future session
# Record what the team learned, scoped so it only answers questions about billing
nool learn --about src/billing/invoice.ts --scope billing --kind root_cause \
  --content "Invoice totals drifted because rounding happened per line item; totals must round once at the end."

# Later, from any agent, on any machine
nool findings src/billing/invoice.ts --scope billing
nool context "change invoice rounding" --scope billing --budget 3000
nool why 6ee92d45 --depth 3

# Replace a finding when the rule changes; the old one leaves default results but stays in history
nool learn --about src/billing/invoice.ts --scope billing --supersedes 1efb3a41 \
  --content "Rounding now follows the currency's minor unit; the single-round rule still holds."

Findings are attached to subjects and scopes, so recall answers the question that was asked instead of the nearest-sounding one.

Memory that survives the session, the vendor and the machine

Most agent memory lives in one of three places, and all three leak. Conversation memory ends with the session. Vendor memory is locked to one tool, so what Claude Code learned is invisible to Codex. Vector stores of past chats retrieve by similarity and cannot tell you whether an answer is still true. Nool puts memory where the code is: a ledger in the repository that records intent, impact and findings as first-class objects, mirrored to Git, readable by any agent that can run a CLI or call an MCP server. A repository cloned to a new laptop carries its memory with it. A team that switches models keeps everything it learned.

What gets remembered: intent, impact, findings, evidence

Four kinds of record make up the memory. Intent is the declared purpose of a change, announced before work starts and attached to the knot that lands it. Impact is the computed blast radius: which entities and boundaries the change reached. Findings are the knowledge the team records deliberately with nool learn: root causes, dependency insights, reasoning notes and plain findings, each tied to a subject and optionally to a scope. Evidence is the proof attached to a knot, from gate results to signed attestations and reviewer verdicts. Together they answer the questions a new session actually asks: what was this for, what did it touch, what did we learn, and how do we know it was checked.

Retrieval that knows what is current

Recall is only useful if it distinguishes current from stale. Findings carry a scope, so a question about billing does not return a rule that only ever governed mobile. A finding can supersede an earlier one, and the superseded record drops out of default results while remaining in history. nool findings can answer as of a past timestamp, reconstructing what the team knew when a piece of code was written. nool context and nool ground assemble all of this into a ranked packet inside a token budget, with citations instead of code when the agent only needs orientation. In the coordination benchmark's memory arm the ledger had the highest precision of any shippable approach, nearly double flat retrieval, and returned six stale answers across twelve probes where flat retrieval returned sixteen.

Memory for a team, not for a chat

Because the ledger is shared, memory compounds across people and agents instead of accumulating in one person's chat history. Nool's own repositories are the working example: as of the July 2026 internal case study, three repositories held 1,307 knots, 299 recorded findings and 407 resolved semantic conflicts, and on the nool.dev site repository 83.3 percent of findings had been retrieved again during later work. Those are internal dogfooding figures from nool insights, not an independent audit, and they are published with that caveat. What they show is that recorded knowledge gets read, which is the only property that makes memory worth writing.

Where memory enters the workflow

Memory is written and read at four moments. At the start of a session, nool log and nool context bring the last knots, the relevant findings and the blast radius of the task into the agent's first prompt. During the work, nool announce with-context records the decisions and constraints the agent settled on, so they survive even if the session dies before anything is proposed. At review, corrections become findings with nool learn, scoped to the area they govern. At handoff, nool thread handoff passes an intent thread to the next person or agent with its context attached. Each of these is one command, and each makes the next session cheaper than the last.

Frequently asked questions

How is this different from a vector memory add-on?
Similarity search returns the nearest text; it does not know scope, supersession or time. Nool's ledger records findings with a scope and lets a newer finding supersede an older one, and it can answer as of a past timestamp. The benchmark's memory arm measured the difference as roughly double the precision and far fewer stale hits.
Can a memory be corrected or revoked?
Yes. Record a new finding with --supersedes pointing at the old one. The old finding stops appearing in default results but remains in history, so you can still reconstruct what the team believed at any earlier point.
Does Nool store prompts and transcripts?
No. It stores intent, impact, findings and evidence as knots and records, plus replayable evidence for persona runs. It is not a session recorder. Teams that also want full session transcripts alongside commits pair it with a tool built for that; the Entire comparison covers the split.
How large does the ledger get?
Small relative to the repository. Nool's three internal repositories held 1,307 knots in total as of July 2026. Since 7.0, lift knots record identities linearly, so even a lift of a few thousand entities is megabytes rather than hundreds of megabytes.
Can memory be shared across several repositories?
Findings live with the repository they describe. For organisations with many repositories, nool workspace coordinates nested Nool projects as one workspace, reconciling topology, rolling up release health and decomposing goals into child-ledger tasks, so cross-project intent has a home without a second tracker.