Research · the science and the care behind the product

Memory you can trace.

FaultLine is a validated knowledge-graph memory for AI. This page is the honest account of how it works and why it was built this way — the founding distinction it rests on, the deterministic pipeline that fills and reads it, and the ontology underneath. No hand-waving: every recalled fact traces to a real row.

The founding distinction: a memory vs. the place to put it

Everything in FaultLine hangs on one line. Get it right and the rest follows.

Most systems that call themselves "AI memory" blur two very different things together. FaultLine keeps them strictly apart, and that separation is the whole idea.

A memory

What the user told you

e.g.
Spot the dog · "my favourite colour is red" · a case date · an IP address · a person's name
made by
you — user truth, grounded, and never modified by the engine
it is the
content
The place

Where a memory is filed

e.g.
dog → canine → mammal → animal
made by
the engine — the type-and-class hierarchy ("what a thing is"), built & grown automatically
it is the
structure

You file a memory at a place, and you walk the place to retrieve it. A name or a specific value never becomes a place; a place is never user content. The engine may grow and infer places freely — because a place is only an index, inferring one can never corrupt a memory.

The hard line is the truth-firewall. Because a memory is grounded user content filed at a place, and the hierarchy is only the place-index, the part of the system that reasons and grows structure is physically separated from the part that holds what is true. The engine can be clever about where things go without ever being clever about what they are.

Why a validated graph beats fuzzy vector search

The common pattern for AI memory is a vector store: embed everything, and at recall time return the nearest fuzzy match by cosine similarity. It is fast, and it is a genuinely useful tool — but "nearest" is a guess. It has no notion of truth, no types, no way to say "you never told me that." When the nearest neighbour is close-but-wrong, you get a confident hallucinated memory.

FaultLine takes the other road. Facts are typed, validated, and grounded as rows in a relational graph. Recall is a deterministic walk of real connections, not a similarity score. If a fact isn't there, the honest answer is "you haven't told me" — the system refuses to guess.

Authoritative

PostgreSQL holds the truth

The structured knowledge graph in PostgreSQL is the long-term, authoritative memory. Every answer resolves to a real row you could point at.

Derived

The vector index is a scratchpad

The vector store (Qdrant) is a derived, short-term lane for things not yet classified — a place to revisit, never the source of truth. It never overrides the graph.

This is a deliberate inversion of the usual arrangement. Most systems make the vector store the long-term library and keep a small working context as short-term. FaultLine flips it: the graph is long-term and authoritative; the vector is the short-term scratchpad. Truth lives in structure, not in a distance metric.

Less context, not more — return the fact, not the haystack

There's a second consequence, and it's a big one. The common approaches to giving a model memory all work by adding to the prompt: re-send the whole conversation history every turn, or retrieve a pile of similar-looking chunks and paste them in. Both stuff the model's context window — and that is expensive in tokens, slower to process, and, past a point, actively harmful to accuracy, because a model's ability to use what it's given degrades the longer and deeper the context gets.

FaultLine takes the opposite approach: it resolves the question against the graph and returns the precise, grounded fact(s) the answer needs — a sentence, not a haystack. The model receives the one true thing instead of a wall of maybe-relevant text to sift. The result is less context, lower token cost, lower latency, and better accuracy. For agents in particular — where every turn's tokens are a real cost and long-context degradation is a real failure mode — sending one grounded fact instead of a transcript is a direct, per-turn win.

Everyone else

Dump the whole history — or a bag of fuzzy retrieved chunks — into context every turn. More tokens, more latency, and accuracy that fades as the context grows.

FaultLine

Return the one grounded fact the question needs. A deterministic walk hands back a traceable row — the model reads a sentence, not a haystack.

Grounded, and correctable

User truth is sacred — but people also correct themselves, and the system honors that at every layer. If you say "that number is actually X, not Y," the correction deterministically grounds and supersedes the old value. Not just the values: the classification is correctable too. The user is the authority.

Built on truth.

FaultLine remembers what you told it, files it where it belongs, and hands it back traceable. Connect your AI and see it.