Bi-temporal

What was true, and when you learned it.

History, liveAs-of queries, liveEvent-time precedence, roadmap

Memory keeps two clocks. One for when a fact was true in the world, one for when your agents learned it. Old facts are superseded, never overwritten, so you can ask what you knew at any point.

VALID TIMEwhen it was true in the worldprod_db_region = us-east-1valid 2024-01 → 2025-06superseded_by 6a56…= eu-west-1 · currentvalid 2025-06 → nowsupersession: valid_to set, chain walkableas_of 2025-01-15returns us-east-1, the truth thenRECORD TIMEwhen Gather learned it2024-01 ingested2025-07 correction ingestedlearned after it was true,sorts on both axesROADMAP · INDEPENDENT EVENT-TIMEhonest second place behind Zep · history, supersession, as-of live today

as_of

Ask what you knew, then

A later correction does not erase the earlier belief. Pass as_of with a date and the store returns what it held at that moment.

terminal
$ curl -sX POST https://mcp.hunta.ai/v1/memories/search -H "Authorization: Bearer <YOUR_KEY>" -d '{"query":"pricing tier","as_of":"2026-06-01"}'

  fact ..... Field tier is $79/mo
  learned .. 2026-05-20
  valid .... 2026-05-20 → 2026-07-30 (superseded)

# today the same query returns Tribe at $25 per seat/mo.
# the earlier truth is preserved, not overwritten.
Supersession keeps the full history queryable.

Honest position

Second place, said plainly

Zep leads on bi-temporal today. We are the honest second.

Zep's temporal model is more complete than ours right now, and event-time precedence (choosing the winning fact by when it was true in the world, not just by when you learned it) is on our roadmap, not shipped. What we add is different: bi-temporal facts sitting on a write path you cannot poison and an isolation boundary you can prove. That combination is ours.

Query what you knew, then.

Start free, store a fact, and run an as-of query in a few minutes.