---
title: Weak grounding & empty answers
description: What it means when /v1/reason returns few or zero verified citations.
order: 3
---

`POST /v1/reason` sometimes returns an answer with `grounding.used: 0` and an `X-Dike-Grounding: weak` header, or the insufficient-grounding sentinel text instead of a real answer. This is the hallucination guard working as designed, not a bug — see [Reason reference](/docs/api-reference/reason) for the mechanism. This page is about what to check before assuming something's wrong.

## The corpus genuinely doesn't cover it

Check [/coverage](/coverage) — case law depth in particular varies a lot by jurisdiction (Saudi Arabia publishes far less case law publicly than Egypt or the UAE). A question that assumes deep case-law coverage in a thin jurisdiction will legitimately come back weakly grounded.

## The question is broader than the retrieval window

`top_k` (default 12) caps how many chunks get retrieved before the model even starts answering. A question that spans many articles or several distinct laws may need more context than the default window holds — try raising `top_k`, or narrow the question into more specific sub-questions and combine the answers yourself (see [Agent tool-use patterns](/docs/mcp-agents/agent-tool-patterns) for chaining `dike_search` + `dike_reason` instead of one broad call).

## Filters excluded the right document

Check `filters` on the request — a `jurisdiction` or `status: ["in_force"]` filter that's narrower than the question intends will silently retrieve from the wrong subset rather than error. If the answer you expect involves a repealed or amended law, `status: ["in_force"]` will exclude it from retrieval entirely.

## It's correctly declining

Sometimes weak grounding is the right answer — the corpus doesn't have a clean basis for the question as asked, and returning an unverified-sounding answer would be worse than saying so. Don't suppress or retry-until-strong; show the caveat (see [Grounded Q&A walkthrough](/docs/guides/grounded-qa-walkthrough) step 3) rather than treating `weak` as a failure to route around.

## Compare against `/v1/search` directly

If you're not sure whether the issue is retrieval or the model's synthesis, run the same `question` text through [`/v1/search`](/docs/api-reference/search) first. If search itself returns nothing relevant, the problem is upstream of `/v1/reason` entirely — coverage or filters, not the hallucination guard.
