Memory an AI agent can inspect
Most agent “memory” is a black box: text goes in, answers come out, and the connection between them is difficult to inspect. MEMA takes an external-record approach, with layers that expose records, retrieval signals, policy decisions, and integrity metadata. Those controls improve traceability; they do not make every stored claim true.
Why memory raises the bar
A transient model response can disappear after a request. A bad claim written into durable memory can be reused. A later session may reason from it and write further conclusions back. Without correction and evidence controls, one error can propagate. When memory is the substrate, mistakes can become state.
Two engineering rules follow:
- Treat extraction as a claim. In the public baseline,
/v2/observecalls an LLM extractor by default. Its automatic path filters extracted facts and entities and stores the results as approved. That workflow status is not an independent truth check. - Make failure observable. Provenance, policy decisions, audit records, and hashes provide surfaces an integration can inspect. Whether an error becomes visible still depends on the operation, version, deployment, and monitoring around it.
Seven layers, one job each
MEMA is not one bucket you pour text into and hope retrieval sorts out. It separates seven concerns over an external data plane. Markdown is the primary record format; local SQLite files hold derived indexes and logs. Each layer answers a narrower question, which makes its records and controls easier to inspect on their own terms.
“Bi-temporal” is a small word for a useful property: fact records can carry two time axes, when an assertion applied in the world and when the system learned or changed it. That supports questions such as “what did we believe at the time?” alongside “what do we believe now?”.
From observations to structured records
Records are refined as they move up. Episodes capture source observations such as conversations, documents, tool calls, and events. Facts are structured assertions with validity windows, so a later assertion can supersede an earlier one without erasing its history by default. Beliefs sit above them with confidence and links to supporting evidence. Lifecycle policy can still require records to be deleted.
Extraction is not truth
A model reading a document and writing “the fact is X” has produced a claim, not a truth. In the public baseline, /v2/observe uses an LLM extractor by default; its automatic path filters facts and entities and stores the results as approved. Separate draft and approval endpoints exist for other untrusted producers. Approval is a workflow state, so deployments still need evidence and correction rules appropriate to their use case.
Remembering decisions, not just facts
Facts age quietly. Decisions explain. mema keeps the reasoning and the revision trail, what was chosen, why, and what replaced it, instead of overwriting the past with the present. A superseded decision stays visible, marked, and dated.
What a recall receipt can establish
MEMA recall surfaces can return provenance, retrieval reasons, policy results, hashes, and stable asset addresses. A hash lets you compare a record with the bytes that were hashed earlier; the UAL gives the asset a stable address. Neither field proves that the content is correct. Deletion must be evaluated across the actual deployment, including primary records, derived indexes, logs, replicas, and backups. A technical control is not a legal-compliance conclusion.
Evidence by named version
Version, publication, tests, and readiness are separate claims:
- Public source: package 2.22.13 at commit c37dbf7 is publicly inspectable.
- Internal implementation: v2.26.0 at commit d542fba has been verified locally but is not publicly available.
- Production readiness: not asserted by this website.
Historical benchmark figures or test counts refer to the version and corpus on which they were measured. They should not be blended into a claim about a different release. See the matching MEMA evidence and release-status page for the current reconciliation and the public source at c37dbf7.
And how we build it: fix to zero
Patching edge cases one by one is overfitting. It looks like progress but never converges. We watch the curve: fix the root so a whole class of problems trends to zero, and treat a flat count as the signal to stop patching and find the cause.
Checkable memory is not automatically true, but it is easier to challenge and govern. See the current MEMA evidence status →