Skip to content

Built to last

What your documents actually say, connected up.

Not something you author and maintain. It is derived from your content, it remembers which document every claim came from, and it can be thrown away and rebuilt without re-reading a thing.

In short

As we read your content we note what it claims and which system said it. When the same account or product or plan turns up in a billing record and in a support ticket, those become one thing — which is what lets a single answer span two applications. Because the graph is derived rather than authored, losing it costs a rebuild rather than the work.

The primitives

One thing that matters, and the three that make it possible.

  • the reason any of this matters

    Cross-source link

    An entity that appears in more than one of your systems — the account named in a billing record and in a support ticket. These are what let one answer span two applications, and they are the number to watch: if it reads zero, the graph is not earning its cost.

  • (workspace, normalized_name, type)

    Entity

    Identity is that triple, which is the mechanism behind the link above: the same account mentioned in a CRM row and in a ticket resolves to one node, not two, so a fact attached to either is reachable from the other.

  • (workspace, subject, predicate, object)

    Assertion

    One clean edge per fact. Not one edge per mention — the mentions are provenance rows hanging off the edge.

  • (edge, document, source, version)

    Provenance row

    One per document that asserts the fact, each with its own confidence. This is the table that makes multi-source evidence faithful rather than approximate.

Provenance

One row per document, per edge.

This is the design decision the rest of the product rests on, and it is worth being explicit about what it buys.

  • Every document that asserts a fact keeps its own confidence for it. Nothing is averaged away.
  • A fact is retracted only when its last supporting document stops asserting it — so removing one source out of four changes the count, not the graph.
  • The evidence lane can restrict retrieval to exactly the documents behind the facts it traversed, because that set is a real query rather than a guess.
  • Each row also records which ontology version was active when the edge was written, which is what makes a version switch a filter rather than a migration.
Onboarding completionreducesNinety-day churn3 sources

Asserted by

  • Q3 Retention Review

    notion

    0.95 confidence
  • Support Themes 2026

    zendesk

    0.88 confidence
  • Activation Playbook v4

    lms_content

    0.81 confidence

Inspection

Four consoles, because a graph you can't look at is a graph you can't trust.

  • Graph visualizer

    Force-directed, expand any node one hop at a time, filter by entity type, predicate or source. Derived edges are dashed; edges whose supporters span two integrations are coloured, because those are the interesting ones.

  • Entity quality

    Top entities by degree, orphans with no edges at all, and a paged review queue of merge candidates the resolver was not confident enough to fold automatically.

  • Corpus health

    A score out of 100 over ontology stability, entity match rate, orphan share, confidence distribution, extraction success rate and source coverage — with the direction of health stated for each, so a number is never ambiguous.

  • Content status

    Per document: which pipeline phase it is in, how long each phase took, per-shard model durations, and the failure reason with a retry if it did not make it.

Corpus health

Every metric states which direction is healthy.

A dashboard number with no stated direction is a number people learn to ignore.

Corpus health metrics and their healthy direction
MetricWhat it countsHealthy direction
Ontology stabilityNew types discovered per 100 documentsHealthy = declining toward 0
Entity match rateShare of mentions resolving to an existing entityHealthy = rising toward 90%+
Orphan entitiesEntities with no assertions attachedHealthy = small and shrinking
Corroborated shareAssertions with more than one supporting documentHigher is better
Cross-source linksEntities bridging two or more integrationsMore = better integration value
Extraction success rateDocuments completing extraction without failureHealthy = at or near 100%

Foundations

Postgres is the source of truth.

The vector index and the graph store are rebuildable projections. That single decision is why an ontology switch is cheap, a store failure is survivable, and none of it costs a second extraction pass.

what lives where
postgres                  ← source of truth
  documents, chunks
  entities, assertions
  graph_assertion_sources   ← provenance
  ontologies, versions
  embeddings (pgvector)

vector index              ← projection, rebuildable
graph store               ← projection, rebuildable
                            (or recursive CTEs
                             straight over postgres)

FAQ

Frequently asked

Including the limitations, because they change how you read the numbers.

Start with the free tier. Ship the first answer today.

RAG is free, with no card and no sales call. Add the graph when your corpus earns it.

  • no card required
  • first workspace is free
  • one POST to ingest