> Curator / blog
memory, ranking, recall

Curator ranks memory by truth, not by what's loudest

Most AI memory hands back whatever is newest or most similar, burying the standards you actually hold. Curator ranks recall by how well-established a memory is, so a durable decision beats this morning's status note.

Ask an AI agent what it remembers about your project and watch what surfaces. Usually it is whatever you said most recently, or whatever sits closest to your query in embedding space. Both are popularity contests, and in both, the loudest memory wins instead of the truest one.

So a one-line status note from this morning (“migrated the auth service”) outranks a standing architectural decision from eight months ago (“never put a JWT in localStorage”). The note is newer, so it wins, even though the decision is the thing an agent must not violate. Rank by recency and you optimize for noise. Rank by similarity and you optimize for whatever happened to be phrased like the question.

Ranked by how settled it is, not how recent

Curator scores recall on a different axis. Every memory carries a sense of how well-established it is: how much evidence has accumulated for it, and how consistent that evidence has been. Recall is ranked by that, so durability decides what rises, not timing.

MemorySurfaces
An architectural decision you keep reaffirmingFirst
A preference you have rejected the same way repeatedlyFirst
A one-off status updateSinks
A fact that was true once and has since gone staleSinks

None of this is a table of hand-tuned weights. A memory’s standing is earned from the evidence it has actually accumulated, and your own feedback moves it. Mark a recall helpful, misleading, or outdated and that correction revises where it ranks over time. The order you get is the one your corrections have shaped, not a constant someone picked.

There is a specific kind of noise this kills. When a coding session is compacted, the agent emits a long “This session is being continued from a previous conversation” recap. Those recaps are long and recent enough to dominate every later recall if you let them. Curator filters them at intake by default, so a machine-generated summary never outranks a decision you actually made.

It tells you what changed since you left

Memory that only plays back the past is a trap on an old project, because the past is full of assumptions you have outgrown. When you return to a project, Curator computes a resume diff, a plain deterministic read of the record with no model in the loop, and surfaces two things that matter on re-entry:

  • Decisions you have since superseded that this code still follows. The standard moved on and the code did not. Now you can see the gap.
  • Standards you set in other projects since you were last here. The defaults you raised elsewhere apply before you touch anything, so an old project inherits your current judgment instead of freezing you at the version of yourself who started it.

Local, encrypted, and it reasons

Curator runs on your machine. Its stores are encrypted on disk, and it is reached over the Model Context Protocol, the same way your agent reaches the rest of its tools. It does not only store and retrieve. It reasons over what it remembers, deriving durable relationships between memories and keeping them, so the connections outlive the session that found them.

Where it stands

Curator is v0.3.0 and working pre-release. APIs and on-disk layouts may still shift, with no semver promises before v1.0. It pairs with TheAuditor for code ground truth, Warden as the agent that acts with memory already in context, Arbiter for orchestration, and BenchProctor for proof.

More on the idea behind it in the memory category nobody shipped and resume with what you know now.

Follow release preparation. We will email when public access is ready.

Was this useful?