Health & verification
How the graph stays honest as sources change and knowledge accumulates.
A cognition graph is only useful if you can trust it. ThinkingRoot continuously verifies its own contents and surfaces three signals: contradictions, stale claims, and grounding failures.
Health
Health is the result of running the graph through verification probes. The
GET /api/v1/ws/{ws}/health endpoint returns a snapshot aggregating pass/fail
counts per probe; the Console's Overview tab renders it as a status strip
and the System Doctor card. Health is a real signal — the Console never
shows "all systems nominal" without one behind it.
Contradictions
Two claims that assert incompatible things about the same entity or fact are contradictions. They're detected during admission and stored so they can be surfaced (gated by a confidence threshold). Contradictions are also what guard branch merges: by default a merge that would introduce a contradiction is blocked.
Staleness
A claim is stale when the source it was extracted from has changed since the
claim was last validated (its last_rooted_at is older than a configurable
threshold). Re-validation re-checks stale claims against current source bytes,
so the graph reflects reality rather than a snapshot from weeks ago.
Gaps
The engine can also report gaps — questions it can see are relevant but
can't yet answer from the graph (GET /api/v1/ws/{ws}/gaps). Gaps are the raw
material for the engine's just-in-time capability acquisition
and a useful prompt for "what should I feed it next?"
Honesty is enforced, not aspirational
Verification is why the system can promise no fabrication. A claim that can't be grounded doesn't enter the graph; one whose source moved is flagged stale; a merge that would degrade health is rejected. The honest state is the only state the engine reports.