Recall always keeps a well informed belief from your memories, when facts change, or the
information evolves underneath. While keeping the current belief, Recall keeps records of what an agent
believed on any date, how one fact changed, and what changed between two dates.
Customer disputes"I asked for my refund on Sep 20, when you
still said yes."
Memory without history
refund exception: revoked
The agent says no. Nobody can check.
Polign Recall
nowrevoked
as of Sep 20approved
from chat, Sep 12: "Refund exception approved for you"
Honor the refund, and show why.
Recall memories are records to look back on
A memory, even for an agent, shouldn't be something that gets overwritten or lost. Memories are
factual records of events and decisions. When agent needs the information to make a judgement call, memory
should be at the center of it.
Recall memory is trusted, corrective and not made up
Have you ever had your agent hallucinate or just provide an answer when it doesn't know
anything? Most of the memory setup today is simply a vector search or similarity search for whatever query that
was put in. Recall looks for the exact facts were at any point in time. It provides enough context behind the
ask to the agent. When agent has enough information about the situation, it can make an informed decision and
generate predictable outcome for the user.
Compared with mem0 and Zep
Maya tells her assistant twelve things over nine months: three homes, three
jobs, a sister who moves, and, in one sentence, a new diet and a shellfish allergy. Then she
asks it to forget the allergy. The same model, Claude Opus 5.5, extracts and answers for all
three memories, and every reply below is from a real run.
1 of 9
The conversation
What Maya told her assistant
01-10Hi, I'm Maya. I live in Seattle and work at Northwind as a data
analyst. My email is maya@northwind.com.
01-24I'm vegetarian, by the way.
02-15My sister Priya lives in Denver.
03-03My friend Sam just moved to Tacoma.
04-02I moved to Tacoma, near Sam. Seattle rent was too much.
05-12New job: I'm a product manager at Bluefin now. Use
maya@bluefin.io for work.
06-20Priya moved from Denver to Austin.
07-08We moved again, to Portland. The Tacoma commute was killing me.
07-30My coworker Dan lives in Seattle; we carpool on Fridays.
08-18I've started eating fish again, so I'm pescatarian now,
but no shellfish, I'm allergic.
09-05Bluefin was acquired by Orca Labs, so I work at Orca Labs now, same
role. My email is maya@orcalabs.com.
10-04Thinking about moving to Boise next year, but we're staying in
Portland for now.
Then she asks
“Forget that Maya is allergic to shellfish.”
mem0
App code: search, then 1 delete by id · allergy gone · diet lost with it · history kept ✗
Zep
App code: search, then 2 delete by id · allergy gone · diet lost with it · no history ✗
Recall
One call: forget(text) · allergy gone · diet kept · history kept ✓
Question 1 of 6
I'm booking Maya a dinner. What can she eat?
Right answer: Pescatarian
mem0
Maya is vegetarian, so book somewhere with good meat-free options (this is from a January 2026 note,
and nothing since says it's changed). ✗
Zep
I don't have any notes on Maya's dietary preferences or restrictions, so it's best to
ask her; I only know she's currently in Portland, if that helps with the booking. ✗
Recall
Maya is pescatarian, so book somewhere with good fish or seafood plus vegetarian options; she said
"I've started eating fish again" (her earlier vegetarian diet no longer applies). ✓replaced vegetarian
Question 2 of 6
Is Maya allergic to anything?
Right answer: None on record
mem0
I don't have any record of Maya's allergies; I only know she's vegetarian, which is a
dietary choice rather than an allergy. ✓
Zep
I don't have anything saved about Maya having allergies. ✓
Recall
I don't have any record of Maya's allergies; I only know she's been pescatarian since
August 2026 (previously vegetarian), which is a diet choice rather than an allergy. ✓
Question 3 of 6
Where does Maya live now?
Right answer: Portland
mem0
Maya lives in Portland; she moved there from Tacoma around July 2026, and as of October 2026 she's
considering a move to Boise sometime in 2027 but is staying put for now. ✓
Zep
Maya lives in Portland; she moved there from Tacoma in July 2026 and was still there as of October
2026. ✓
Recall
Maya lives in Portland, where she moved in July 2026 from Tacoma because the commute was too hard.
✓replaced Tacoma
Question 4 of 6
Where does Maya's sister live?
Right answer: Austin
mem0
Maya's sister Priya lives in Austin; she moved there from Denver around June 2026. ✓
Zep
Maya's sister Priya now lives in Austin, having moved there from Denver in June 2026. ✓
Recall
Maya's sister Priya lives in Austin; she moved there from Denver in June 2026. ✓replaced Denver
Question 5 of 6
Where does Maya work?
Right answer: Orca Labs
mem0
Maya works at Orca Labs as a product manager, since Orca Labs acquired her previous employer, Bluefin,
around September 2026. ✓
Zep
Maya currently works at Orca Labs as a product manager, the same role she held at Bluefin before Orca
Labs acquired it. ✓
Recall
Maya works at Orca Labs as a product manager (since 2026-09-05), after Orca Labs acquired her previous
employer, Bluefin. ✓replaced Bluefin
Question 6 of 6
Where did Maya live in May 2026?
Right answer: Tacoma
mem0
In May 2026 Maya lived in Tacoma, having moved there from Seattle in early April and before moving to
Portland in early July. ✓
Zep
In May 2026, Maya lived in Tacoma, near her friend Sam; she had moved there from Seattle in April and
later left for Portland in July. ✓
Recall
In May 2026 Maya lived in Tacoma, having moved there from Seattle on April 2, 2026. ✓read as of 2026-05-20
Across 3 runs
Totals
mem0
15 of 18 right · 12.7k tokens to save a message
Zep
11 of 18 right · 14.8k tokens to save a message
Recall
18 of 18 right · 3.2k tokens to save a message
Use the buttons or the step tabs to go through it one step at a time.
mem0 had stored the diet and the allergy as one memory, so forgetting the
allergy deleted her diet too, and it answered from an older note that she is vegetarian.
Zep deleted both of its diet facts. Recall withdrew only the allergy and answered
pescatarian, with the vegetarian diet it replaced. Over three runs Recall answered 18 of 18,
mem0 15 and Zep 11, and Recall used 3.2k tokens to save a message where mem0 used 12.7k and
Zep 14.8k.
mem0 2.2.1 (open source), Zep's open-source engine graphiti-core 0.31.1,
and Recall 0.20.2 with its built-in embedding model. Each answer was judged against a
reference answer written before the runs. All three scenarios, with
the numbers.
Try it in a minute
One pip install brings the client and the database. No model or embedding
API key needed. The quick start walks through history,
as-of reads, and connecting your agent.
Recall is the memory. The vector store underneath is yours to choose, and
the records are the same on every one. polign_db is the backend
we built for it. A PostgreSQL or
MongoDB you already run has every capability too,
agent resume included, and a Qdrant works for the
memory tools.
On polign_db your memory sits in your own S3, GCS, or Azure bucket. Searches
straight from S3 measured about $3.20 per million, and nothing runs when agents are idle.
See the method. What each backend supports, feature
by feature, is in the architecture docs.
Corrections by rule
A predicate declares whether it holds one value or many. A new value replaces the old
one when only one is allowed, and is added alongside when several are. A statement can
also end a belief filed under another predicate: "dislikes mangoes" replaces "likes
mangoes", and both answers say so. Every read shows the same value held under another
predicate, so a conflict is never hidden. Nothing is deleted, and if a rule was wrong,
one correction fixes every past and present answer.
History you can query
Forgetting records a withdrawal instead of deleting. Ask what is believed now, what was
believed on any date, how one fact changed step by step, or everything that changed
between two dates. Nothing is edited in place.
Replayable audit
Export a versioned bundle of the events and rules behind a memory query result. A
standalone verifier reproduces that result offline, without a database or an embedding
model. It covers what memory returned, not the agent's reasoning. Together with
diff, it is the audit log: what changed, when, and on whose statement.
Typed memory, no schema to write
A memory is a subject, a predicate, and a typed value. Recall starts with predicates
for coding work and personal facts, and a predicate nothing has defined yet is defined by
its first use. A new name that only reorders an existing one is filed under it. Or keep a
fixed list, and agents write only the kinds you declared.
Shared across agents
Agents in different processes and on different machines use the same memory. A
correction one agent writes is returned by later reads from the others. One server
answers many agents at once, each inside its own namespace, and a pod on Kubernetes
signs in with its own identity, no key to hand out. See it inside
a sandbox.
Your storage, your choice
Runs on polign_db against your own S3, GCS, or Azure
bucket, or on a PostgreSQL,
MongoDB or Qdrant you
already run. Keys bound to
a namespace are the isolation boundary between teams and agents. No embedding service is
needed to start; bring your own model for semantic search.
Resume after a crash
An agent can record its working state and turns to Recall as it works. When its
pod dies or its image is upgraded, the next process picks up from those records instead of a
snapshot. Read how it works, or
use it with LangGraph.
How it is built
Every memory is an event in an append-only log, and every answer is a fold
over that log at the instant you ask about. The registry holds the correction rules, the
backend holds the records, and recall serve puts keys and namespaces in front of
both. Read the architecture, with diagrams.
Become a design partner
Give us your agent and we will wire Polign Recall into it.
You bring an agent that is in or near production, and a real memory problem
We do the integration work, architecture help, a Recall deployment in your cloud on
polign_db or the store you already run, and migration from your current memory store
The commitment is one engineer on your side who owns it, and one 30-minute engineering call
a week for the first 4 to 6 weeks
Done means success criteria we write down together before day one, for one production-like
agent writing memory into Polign
Your infrastructure stays in your account and on your bill
No charge for 60 days, with written success criteria agreed up front. Meet them and it
converts to $12k for the next 12 months.
See pricing
Starter predicates for coding and personal assistants; new ones are defined by first use,
or keep a fixed list
History, as-of reads and diff: how a fact changed, what was believed on any date, and what
changed between two dates, from the CLI, MCP, or HTTP
Audit bundles with an offline verifier
Word-overlap search built in; model embeddings optional
Plain text in, sentences out, optional: with a model configured, Recall works out the facts
and decides how each is filed. Without one, your agent proposes facts and Recall validates them
Explain shows why each answer is held: the text it came from, the rule that decides it, and
its history
Evidence links: a fact proposed from text keeps the exact words it came from
Corrections across predicates: the registry pairs predicates that contradict each other
(likes and dislikes, owns and gave away), so a later statement under one ends the same value under the other.
An agent can name anything else a statement ends. Conflicts that no rule settles are shown, never guessed
Forget is a withdrawal that keeps the history readable; delete the records in the store to
erase them
Runs where you run it: your laptop, your cluster, your bucket