SurrealDB Agent Memory does not treat “delete record” as the primary way to retire a belief. Memories are superseded or aged; three clocks answer three different questions.
To put this in concrete terms, take the same sentences about a cat:
| Sentence | What you need to remember | Clocks and fields |
|---|---|---|
| “I have a cat.” | True for this person now | Valid time includes today; scoped to the speaker |
| “I saw a cat last night.” | A past encounter, still tied to the speaker | Valid time on the night in question; episodic source turn |
| “House cats weigh about 4 kg.” | A general fact, not “about me” | Broader scope; may come from a document (known time = when you ingested it) |
| “I used to have a cat.” | Was true, is not now | Supersession: prior “has cat” gets valid_until; history stays queryable |
People do this without thinking. SurrealDB Agent Memory makes it explicit so agents - and auditors - can answer “what did we believe, when, and on what evidence?” without guessing from similar-looking chunks.
The three clocks
| Clock | What it is | Answers | Example |
|---|---|---|---|
| System time | SurrealDB MVCC history - every write keeps a versioned record; you can reconstruct database state at an instant. | “What did the database contain at instant T?” | “What did we store about UK head of state on 8 September 2022?” (still “Prince Charles” in a snapshot taken that morning.) |
| Known time | When SurrealDB Agent Memory first recorded a belief; as_of walks supersession chains. | “When did we first believe this?” | “When did we first store that Charles became King Charles III?” (likely 8 September 2022, even if the user mentioned it days later.) |
| Valid time | When the fact held in the real world, via valid_from / valid_until. | “When was this true?” | Napoleon: valid time roughly 15 August 1769-5 May 1821; your assistant might only learn his birth year in a school chat years later - that learning moment is known time, not valid time. |
Document facts may carry a valid_from long before upload (e.g. policy effective date). Conversational facts usually anchor to turn time unless you supply otherwise.
What you get in practice
Time-travel queries on previous database states - without stitching together your own application tables.
as_ofqueries - belief-level history over supersession chains, indexed for retrieval.Supersession chains - prior beliefs stay addressable with
valid_untilset; you can see how “Prince of Wales” became “King Charles III”.Aging, not deletion - stale observations can be marked superseded with a reason in provenance rather than erased.
forgetas a first-class verb - explicit user-driven removal, distinct from aging.
Together with provenance and the single reconciler (Eight pillars), you can unwind any current fact to what it replaced, to the source that produced it, and to the exact quote in that source - and rewind the database by system time while still querying belief history on known time.
Field-level detail: Temporal validity and Reconciliation and supersession.