Swapnanil Saha
An agent that runs for hours forgets what it worked out in the first ten minutes. These essays are about why that happens and what a memory system would have to do instead. Vectr is where the answers get tested; the underlying research is on arXiv.
Essays
on retrieval and agent memory
Long-form engineering essays on retrieval, agent memory, and context engineering — built on instrumented runs and honest ledgers, with every number traceable to an artifact.
A Guess Becomes a Fact on the Next Read
Relevance Is the Wrong Sort Order for Agent Memory
Agents Never Remember What Isn't There
Vectr
semantic search and working memory
Six tools
built to test the ideas
Six tools, each built to test an idea against something real rather than argue it in the abstract. Vectr came out of the agent-memory work and is the one still under active development. The others answer narrower questions and are finished. All open source.
vectr
dpdp-copilot
rag-readiness
llm-eval-suite
ai-use-case-scoper
meeting-to-action
Current work
and what changed recently
vectr memory import reads an existing MEMORY.md, CLAUDE.md, AGENTS.md or .cursorrules into the store, previews the whole plan before writing anything, and marks what it imported as imported, because a rule read off a file is a guess about what you meant and should not arrive wearing the authority of something the agent verified. The release also found a similarity metric that had been reading almost the inverse of the truth on repetitive code, which had been quietly holding a dedup key together. v1.11 separated being out of date from being wrong: a note can now be retired after the fact in favour of a newer one, without the "proven wrong" framing revocation carries, and reinstating one actually reverses it instead of leaving it half-retired. An anchor now records whether the agent ever actually read the file it points at, so a note anchored to a file nobody opened no longer looks identical to one that was genuinely bound. And working memory opens in your own editor, with every change written back through the append-only lifecycle rather than around it. v1.10 made memory expiry a state transition rather than a delete: an aged-out note is marked expired and keeps its place in the audit trail, directives never age out at any age, and a pinned note comes back from recall whatever the query says. It also rendered a workspace's notes to a read-only MEMORY.md, so what the agent remembers is finally something a person can open and read. v1.8 shipped a machine-checked user-stated provenance class (a note binding a verbatim excerpt of the user's words earns a stronger recall frame; the class is earned by a deterministic check, never claimed), after 1.6 and 1.7 made proactive delivery the default and made it worth reading. v1.5 shipped automatic episode capture with arc distillation, and a note lifecycle where a wrong note is revoked rather than deleted, so the mistake is not silently re-derived, on top of 1.3's per-memory trigger engine and 1.1's team mode. The research underneath it is now published: Delivery, Not Storage (arXiv:2607.20972), a controlled study of agent memory under repeated context compaction across 108 and 138 forced boundaries, graded token by token. A second report from the same programme is published beside it: Deterministic, Reproducible, and Wrong, on how our own deterministic scorer manufactured an agent-memory headline that the transcripts refuted, and the contradiction guard that would have caught it. Running alongside it: an upstream feature request to Claude Code (#78795) proposing triggered injection for auto-memory files, so the findings become platform behavior rather than a workaround.Background
nine years in ad infrastructure
Nine years of this work happened somewhere else first: real-time digital advertising, infrastructure deciding in milliseconds which ad a user sees. A custom Redis module that cut filtering latency 5×, first-price and second-price auction engines, real-time budget pacing on Cassandra across billions of daily requests.
Ad-tech has an unusually short feedback loop. Every latency improvement carries a win-rate implication, every auction change shows up in revenue by the same afternoon. That is where the habit of refusing a claim without an instrumented run behind it comes from, and it is the standard everything published here is held to.
Get in touch
corrections included
Open to conversations about agentic AI, context engineering, retrieval, and the harness problems that surface when a model has to hold state across long-running work. Early results, half-formed hypotheses, and work that has not been written up yet are the most interesting kind of mail to get, and the topic does not have to be one covered here.
Corrections carry the same weight as agreement. A number on this site that does not reproduce is worth an email.