"Bi-temporal" sounds like database trivia until the first time a caller says "actually, move that to Friday" — and you need your agent's memory to handle the correction without destroying the history.
Two timelines, not one
Every fact in Mnemix carries two independent time dimensions:
- Valid time — when the fact was true in the world. The appointment is Thursday was true from Monday until the caller moved it.
- Transaction time — when your system learned it. You knew about Thursday from the Monday call; you learned about Friday on Wednesday.
A single-timeline store overwrites Thursday with Friday and the past is gone. A bi-temporal store versions it: both facts exist, each tagged with when it was true and when you knew it.
Why an agent should care
Because corrections are the normal case on the phone, not the exception. Callers reschedule, fix your spelling of their name, change addresses. An agent whose memory silently overwrites is an agent that can't answer "wait, what did I originally book?" — and an operator who can't answer "why did the agent say Thursday on Tuesday's call?"
As-of replay
Bi-temporal memory makes one powerful query possible: what did the agent know at moment X? Reconstruct the exact context as of any past instant, and the agent's behavior given that context is reproducible. That turns "the AI said something weird" from a shrug into a lookup — you can prove a decision against the state-of-record as of that moment.
It's the difference between memory that guesses and memory you can audit — whether the call confirms an oil change or reconciles a ledger. Deterministic by design, auditable by default.