The platform · one engine, four surfaces

The database for AI agents.

abagraph is a bitemporal graph + vector memory engine. Agents write facts as subject–predicate–object triples, each stamped with where it came from, how sure you are, and the two timelines every fact lives on. Recall them by pattern, graph walk, or meaning — and time-travel to what you believed at any moment.

bitemporal source + confidence graph + vector MCP-native
ANATOMY OF A FACT TRIPLE
acme-corp renews_on 2026-09-30
valid_from 2026-06-18
recorded_at 2026-06-18T14:02Z
source renewal-call · CRM
confidence 0.94
status Active
Assert a contradicting date and this fact closes as Superseded — atomically, in one batch.
01

The engine, in one line.

A bitemporal graph and vector store where every fact knows when it was true, when you learned it, where it came from, and how sure you are.

One embeddable Rust engine — no daemon, no socket — with two parallel read/write surfaces over a single storage layer, plus an agentic loop layered on top. Subject–predicate–object facts carry full bitemporal validity and provenance; semantic, symbolic, relational, and temporal recall fuse into one answer. The same store powers every surface below.

2
timelines per fact — valid time and transaction time
4
recall paths — vector, graph, relational, temporal
1
storage layer under every surface and tool
0
guesses — below your threshold, the engine abstains
02

Four surfaces. One store.

Pick the altitude your work needs. A high-level fact API for triples, a Datomic-style datom API for explicit schema, a durable agent kernel for resumable runs, and an MCP server so any LLM can use the engine as a tool. Every surface writes and reads the same facts.

SURFACE 01 high-level
Fact API

Subject/predicate/object triples with valid_from, valid_until, confidence, and source. Asserting a contradicting fact atomically closes the old one and opens the new. as_of(t) returns a view over historical world-state.

assertqueryas_ofkNN recall
SURFACE 02 low-level
Datom API

Datomic-style [entity, attr, value, tx, op] tuples with explicit schema — cardinality and value types you control. A single-writer transactor commits batches; the graph reads them with time-travel, walks edges, and lints for orphans, dangling refs, and contradictions.

transactwalkAsOflint
SURFACE 03 durable
Agent kernel

A resumable agentic loop over the stores above. SpecRunStep, each persisted as one transaction batch and replayable from the log. A budget governor and optional verifier close the run; approval-gated steps park it until you say go.

resumablebudget governorverifierapprovals
SURFACE 04 MCP-native
orchestrate — MCP server

The engine exposed to any LLM as Model Context Protocol tools. Seven outcome-oriented, namespace-scoped tools over JSON-RPC 2.0 — speak it over stdio or POST /mcp. Tools return bounded, provenance-rich projections, never raw embeddings.

digestrememberrecallrecall_as_ofwhats_changedbuild_contextexplain_fact
03

What makes it a memory, not a store.

Four properties are baked into the engine at write time. They are why an agent can trust what it reads back — and know when not to.

Bitemporal time-travel

Every fact carries valid time and transaction time. as_of reconstructs exactly what you believed at any moment — including what you have since corrected.

Source + confidence

Provenance travels with the data. Every fact records where it came from and a score from 0.00 to 1.00. Below your threshold it lands as a candidate and the agent abstains instead of guessing.

Automatic supersede

Assert a contradicting fact and the engine closes the old one as Superseded and opens the new one in a single atomic batch. Set-valued predicates coexist when you ask them to.

Token-bounded context

One build_context call returns a confidence-ranked, deduped, source-cited packet inside your token budget. Stale facts collapse to the one current truth.

04

Why not just a vector store?

A vector index finds things that sound similar. That is one of four recall paths — and it answers what, never when or why. An agent's memory needs all three.

PLAIN VECTOR STORE
No when. Embeddings have no notion of valid time or transaction time. You cannot ask what was true last quarter.
No why. No source, no confidence. The agent cannot weigh a claim or verify where it came from.
No contradiction handling. The old vector and the new one both sit in the index. Stale and current compete for the same retrieval.
No graph. Similarity only. No walking the relationships between entities.
ABAGRAPH
Time-travel built in. Two timelines per fact. as_of reconstructs any past world-state.
Provenance on every fact. Source and a confidence score. Below threshold, the engine abstains instead of guessing.
Contradiction resolved. A new fact supersedes the old in one atomic batch. Recall returns the single current truth.
Four paths fused. Vector, graph, relational, and temporal recall — in one answer, under a millisecond.
Early access open now

One engine. Facts your agents can actually trust.

Bitemporal storage, hybrid recall, source-cited provenance, a durable agent kernel, and an MCP server — the whole platform over one store. Start building.

Join early access Read the docs →