Skip to main content
tckg stores what an agent heard, what it believed, and why it changed its mind, with time and causality attached, and gives it back as of a point in time: only what was known then. You use it the way you use Zep or Mem0. One thing is different. Every read takes as_of. Anything learned after that instant is masked out of the answer, and the answer carries a certificate that says how much was masked. Backtests, post-mortems, and “what did we know when we decided” stop being guesswork.

Where to start

Quickstart

Write three blocks, read them as of two different dates, and watch the same data answer differently. Five minutes.

Concepts

The two clocks, spaces and tenants, backfill, the certificate, declared facts and resolve.

Migrate from Supabase

For teams that keep a knowledge graph in their own Postgres tables today. Field mapping, backfill, dual write, cutover.

API Reference

Eight endpoints. Every request and response field, every reason code.

What works today, and what does not yet

These docs describe only what is in the code. Everything that is not yet there is in this table.

Run it locally

You can also run the same API yourself, for example to test against an empty database. You need PostgreSQL 17 or newer and uv.
GET /v1/check_install reports the installation item by item. Details are in INSTALL.md at the repository root.

Editing these docs

This site is built from docs/ in factagora/tckg. A push to main deploys; there is no staging. Edit docs/**/*.mdx there and run npx mint broken-links inside docs/ before pushing.