Skip to main content

Bi-Temporal Versioning

GRAFOMEM tracks two independent timelines, so an agent can ask not just what is true but what we knew, and when.

TimelineField(s)Meaning
System timewritten_atWhen the fact was ingested.
Valid timevalid_from, valid_untilWhen the fact was true in the world.

A retrieve(..., as_of=T) query returns the state as of valid-time T (default: now). supersede(old, new) closes the predecessor's valid interval at the successor's valid_from, so history is preserved rather than overwritten — the superseded version remains visible in audit() with superseded_by set.

This is the BI_TEMPORAL capability (spec §3.2), exercised by workload W2.

Source: docs/01-workload-spec.md (W2), docs/gmp-spec-v0.2.md §3