Post #0 · Understand TGMS

What TGMS Is — and Is Not

Start here: the problem, the three components, one worked example, and the workloads other systems still do better.
In one sentence: TGMS is a store for facts that change over time, built so an agent can ask what was true, ask what the system believed at some past moment, and get an answer whose supporting evidence can be checked — and it is not a general replacement for the database you already run.

Why this matters

Give a language model a question about a changing world and it has two bad options. It can be handed a pile of text and asked to reason over it, which works until the question needs counting, grouping, or following relationships several steps out. Or it can be handed today's database, which answers about now and quietly loses the fact that last month's answer was different — and that someone corrected the data on Tuesday.

Two problems live in that gap:

The idea in plain language

TGMS has three parts. The vocabulary here is used by every other post in this series.

1. A bi-temporal store. Every fact carries two clocks: when it was true in the world, and when the database believed it. Recording a correction appends a new version rather than overwriting the old one, so the question "what did we believe on 1 April?" stays answerable after the data is fixed on 10 April. That second clock — what the system believed, and when — is what bi-temporal adds, and reconstructing an answer at a past moment gives you a past belief state.

2. Verified operations. Questions are not answered by free-form code. They are answered by 15 named verified data operations — filter a time window, follow relationships forward in time, group and count, find a repeating pattern — each with a checked input and output contract, each with an independent reference implementation that tests agree with it. Several of them chained together is a plan.

3. A plan–execute–verify loop. The model writes the plan; the engine executes it; a verifier then checks that every claim in the final answer is actually supported by what the operations returned. A claim computed over a result page that was cut short is marked rather than believed — the value can be arithmetically correct and the evidence still incomplete.

bi-temporal store two clocks per fact verified operations 15, contract-checked plan, executed by the engine model writes it verifier is each claim supported? unsupported or incomplete → replan, or return the answer marked a question enters here →
The three components and how a question moves through them. The amber path is the case that makes the loop worth having: an answer whose evidence does not support it goes back rather than out. Conceptual diagram, not measured data.

One question, all the way through

Take a real shape: "In March, how many distinct accounts did users in each region message — as we believed things on 1 April?" A correction landed on 10 April moving several accounts to a different region.

  1. The store holds every relationship version with both clocks, so "as believed on 1 April" is a filter over data that is already there. Nothing is rebuilt or restored, and the 10 April correction is simply not yet visible at that belief time.
  2. The operations do the work: select the March valid-time window, group by region, count distinct recipients. Each is a named operation with a contract, so the plan is checkable before it runs — and the result carries a fingerprint, which is how we verify that five other systems answering the same question get byte-identical results.
  3. The verifier checks the final claim against what came back. If the result had been truncated by a row limit, the distinct count would rest on partial evidence, and the claim is marked instead of asserted.

The same question asked today, without the belief filter, gives a different and equally correct answer. Both remain available, permanently. That is the whole point.

Where the numbers on this page come from. Every figure quoted below is measured on one 40-core host with 13 registry queries run against 6 systems, on a synthetic bi-temporal event log containing corrections — all six at 200,000 events, four of them at a million and three at ten million. Every cell is hash-verified to return the identical answer before it is timed. Latency cells reproduce to about ±20% between days. Snapshot registry-v2; full tables and records in eval_phase0.md.

What TGMS is not

It is not a general replacement for the database you already run, and the measured boundaries are specific.

A realistic deployment is often TGMS beside one of these: the temporal-graph composition here, the rollups there.

Maturity, plainly

TGMS is a research system at version 0.5.0. The limits that will affect you first:

What this page does not establish

Takeaway

TGMS is narrow on purpose: it makes questions that combine history, correction and relationship structure computable and checkable, and it is second-best or worse at nearly everything else. The useful question is not whether it is faster than your database, but whether your questions have that shape.

Where to go next