Knowledge graph
Entities, bitemporal facts, and links: how Unison stores what is true, when it became true, and how knowledge connects.
Underneath the document tier, Unison maintains a knowledge graph: entities (people, systems, projects) carrying bitemporal facts, connected by links.
Bitemporal facts
Every fact records two times: when it became true (validFrom/validTo) and when the brain learned it. Corrections don't overwrite - they supersede, preserving the chain. Invalidation is soft (validTo = now). This buys two things teams actually need:
- Time-travel:
asOfon reads answers "what did we believe on May 1," which is how you debug a decision made with old information. - Honest conflict handling: when two agents record contradictory facts, the contradiction is visible and resolvable - not silently last-write-wins.
Working with the graph
unison entity resolve "payments service" # find the entity
unison fact ls --entity <id> # current facts
unison timeline <id> --from 2026-05-01 # what changed, when
unison fact add <id> depends_on "Postgres 17" --confidence 0.9Dedup runs continuously; ambiguous entity merges land in a review queue (unison review ls) where a human or admin agent rules merge/distinct - with undo.
Context recall
How one call turns a question into prompt-ready memory: hybrid retrieval, entity expansion, and the weakEvidence abstention signal.
Shared vs private memory
The Unison visibility model: write location decides who sees it - /private/ for the caller, /workspace/teams/ for a squad, /workspace/ for the whole workspace, with explicit promotion.