> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# Grounding

> Verify retrieved facts against a knowledge graph before returning them.

Retrieval brings back the most relevant chunks — but "relevant" isn't "true". **Grounding** is an optional pass that cross-checks retrieved content against your causal knowledge graph before it reaches the Agent.

Grounding catches:

* Chunks that are relevant but out of date (superseded facts).
* Chunks that contradict facts you've established as authoritative.
* Chunks that fill in around a fact but don't actually contain it.

## When grounding helps

* **Regulated content** — legal, medical, financial answers where being off matters.
* **Fast-moving domains** — pricing, availability, policy, hours.
* **Numeric answers** — where a wrong number is worse than "I don't know."

For casual Q\&A, grounding is overhead. Turn it off.

## How it works

1. Retrieval returns candidate chunks.
2. Each chunk is parsed for factual claims — dates, quantities, entity relationships.
3. Claims are checked against the causal graph attached to the retrieval preset.
4. Chunks that contradict the graph are **demoted or dropped**.
5. Chunks the graph confirms get a **verified** tag the Agent can cite.

## Setup

1. Build a causal graph — see [Causal Graph overview](/build/causal-graph/overview).
2. Attach it to your Retrieval preset — **Grounding → Causal graph → pick**.
3. Choose action on conflict:
   * **Drop** — remove contradicting chunks.
   * **Demote** — score them 0.5× and keep.
   * **Flag** — return them with a warning field the Agent can surface.

## Confidence

Not every chunk contains a checkable claim. Grounding runs a fast pre-check and only invokes the graph verifier on chunks that look verifiable. Uncheckable chunks pass through untouched.

The Trace view shows for each chunk: `grounded / demoted / dropped / unchecked`.

## Bidirectional benefit

Grounding also flags **missing claims** — cases where the graph has an authoritative fact that retrieval failed to surface at all. This surfaces as an Improvement candidate in Signals (see [Improvement proposals](/reliable/optimization/proposals)).

## When to skip grounding

* You don't have a causal graph. Set one up first — see [Extract from documents](/build/causal-graph/extraction).
* Your data is opinion or unstructured commentary where "correctness" doesn't apply.
* You need every millisecond of latency (grounding adds 50-200ms per query).

## Debugging

If Agents complain "the docs say X but I'm not seeing X in the answer" — check the Trace. If grounding dropped X, the graph probably has a contradicting fact. Fix it in the graph or lower the action to `demote`.
