Skip to content

Architecture

Tri-temporal model

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:

SentenceWhat you need to rememberClocks and fields
“I have a cat.”True for this person nowValid time includes today; scoped to the speaker
“I saw a cat last night.”A past encounter, still tied to the speakerValid 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 nowSupersession: 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.

ClockWhat it isAnswersExample
System timeSurrealDB 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 timeWhen 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 timeWhen 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.

  • Time-travel queries on previous database states - without stitching together your own application tables.

  • as_of queries - belief-level history over supersession chains, indexed for retrieval.

  • Supersession chains - prior beliefs stay addressable with valid_until set; 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.

  • forget as 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.

Was this page helpful?