<!--
  Full-page Markdown export (rendered HTML → GFM).
  Source: https://neotoma.io/memory-guarantees
  Generated: 2026-05-04T09:52:30.007Z
-->
# Memory Guarantees

Neotoma provides a set of memory guarantees: properties that determine whether an agent memory system is reliable under production load. Each addresses a specific failure mode; together they form the invariant stack that Neotoma enforces.

Vendors

Representative providers for each memory approach

Platform

Claude, ChatGPT, Gemini, Copilot

Retrieval / RAG

Mem0, Zep, LangChain Memory

Files

Markdown files, JSON stores, CRDT docs

Database

SQLite, Postgres, MySQL

Deterministic

Neotoma

Deterministic state evolution

Given the same set of observations, the system always produces the same entity state regardless of when or in what order they are processed. This eliminates ordering bugs and makes state transitions predictable and testable.

Plat.

✗

RAG

✗

Files

✗

DB

✗

Det.

✓

Versioned history

Every change to an entity creates a new version rather than overwriting the previous one. Earlier states are preserved and accessible, so you can review what an entity looked like at any point in time.

Plat.

✗

RAG

✗

Files

⚠

DB

✗

Det.

✓

Replayable timeline

The full sequence of observations and state changes can be replayed from the beginning to reconstruct any historical state. This enables debugging, auditing, and verifying that the current state is correct.

Plat.

✗

RAG

✗

Files

✗

DB

✗

Det.

✓

Auditable change log

Every modification records who made it, when, and from what source. This provides a complete audit trail that can be reviewed to understand how and why the current state came to be.

Plat.

✗

RAG

✗

Files

⚠

DB

✗

Det.

✓

Show all 15 guarantees

| Property | Deterministic | Platform | Retrieval / RAG | Files | Database |
| --- | --- | --- | --- | --- | --- |
| Vendors | Neotoma | Claude, ChatGPT, Gemini, Copilot | Mem0, Zep, LangChain Memory | Markdown files, JSON stores, CRDT docs | SQLite, Postgres, MySQL |
| Deterministic state evolution | ✓ | ✗ | ✗ | ✗ | ✗ |
| Versioned history | ✓ | ✗ | ✗ | ⚠ | ✗ |
| Replayable timeline | ✓ | ✗ | ✗ | ✗ | ✗ |
| Auditable change log | ✓ | ✗ | ✗ | ⚠ | ✗ |
| Schema constraints | ✓ | ✗ | ✗ | ✗ | ⚠ |
| Silent mutation risk | ✓ | ⚠ | ⚠ | ⚠ | ⚠ |
| Conflicting facts risk | ✓ | ⚠ | ⚠ | ⚠ | ⚠ |
| False closure risk | ✓ | ⚠ | ⚠ | ⚠ | ⚠ |
| Reproducible state reconstruction | ✓ | ✗ | ✗ | ✗ | ✗ |
| Human inspectability (diffs/lineage) | ✓ | ⚠ | ⚠ | ⚠ | ⚠ |
| Zero-setup onboarding | ✗ | ✓ | ✗ | ✗ | ✗ |
| Semantic similarity search | ✓ | ✗ | ✓ | ✗ | ✗ |
| Direct human editability | ✗ | ✗ | ✗ | ✓ | ✗ |
| Privacy-first local storage | ✓ | ✗ | ✗ | ✓ | ✓ |
| Full data export and portability | ✓ | ✗ | ⚠ | ✓ | ✓ |

Scroll right

On this page

-   [Deterministic state evolution](/deterministic-state-evolution)
-   [Versioned history](/versioned-history)
-   [Replayable timeline](/replayable-timeline)
-   [Auditable change log](/auditable-change-log)
-   [Schema constraints](/schema-constraints)
-   [Silent mutation risk](/silent-mutation-risk)
-   [Conflicting facts risk](/conflicting-facts-risk)
-   [False closure risk](/false-closure-risk)
-   [Reproducible state reconstruction](/reproducible-state-reconstruction)
-   [Human inspectability](/human-inspectability)
-   [Zero-setup onboarding](/zero-setup-onboarding)
-   [Semantic similarity search](/semantic-similarity-search)
-   [Direct human editability](/direct-human-editability)

[

Deterministic state evolution

Same observations always produce the same entity state.

](/deterministic-state-evolution)[

Versioned history

Every change creates a new version; earlier snapshots remain queryable.

](/versioned-history)[

Replayable timeline

Full observation sequence can be replayed to reconstruct state at any timestamp.

](/replayable-timeline)[

Auditable change log

Every modification records who, when, and from which source.

](/auditable-change-log)[

Schema constraints

Entities conform to defined types; invalid writes fail at store time.

](/schema-constraints)[

Silent mutation risk

State cannot change without an explicit, inspectable trail.

](/silent-mutation-risk)[

Conflicting facts risk

Contradictory statements are resolved deterministically, not silently.

](/conflicting-facts-risk)[

False closure risk

Stale context is distinguished from current resolved state.

](/false-closure-risk)[

Reproducible state reconstruction

Complete state can be rebuilt from raw observations alone.

](/reproducible-state-reconstruction)[

Human inspectability

Diff versions, inspect lineage, trace each fact to its source.

](/human-inspectability)[

Zero-setup onboarding

Memory works from the first message with no configuration.

](/zero-setup-onboarding)[

Semantic similarity search

Find relevant context by meaning over structured entity snapshots.

](/semantic-similarity-search)[

Direct human editability

Modify memory in standard editors; plain-text accessibility trade-offs.

](/direct-human-editability)