Skip to content

Trust & provenance

LLM output is fallible. Core LLM Wiki records how each fact got into memory and how much to trust it, so your app can decide what to show and what to inject into prompts.

Field Values Meaning
confidence certain · inferred · tentative How sure the writer (model or user) was
source_type immutable_document · librarian_inferred · user_stated · user_confirmed Where the fact came from (details)
lifecycle_status draft · stable · deprecated Review state
source_ref / source_hash document identifier and SHA-256 hash Which document the fact was extracted from
okf_verified list of { by, at } Who verified it. human:* verifiers give the human-reviewed trust tier.
valid_from / valid_to epoch ms When the fact was true (temporal facts)

A fact with lifecycle_status: 'draft' hasn’t been reviewed. Drafts are visible by default. Hide them per call or globally with excludeDrafts:

await wiki.read('user-1', 'deploy process', { excludeDrafts: true });

Promote a draft after review with promoteDraft(). See Review drafts & grounding.

When grounding is on, chosen writers must quote the source text they were shown. A deterministic check (no LLM involved) verifies the quotes:

  • All quotes found → the fact is stored stable with trust tier machine-confirmed.
  • Quotes missing or not found → the fact is stored as a draft rather than rejected.

lint(entityId) is a read-only health report. It counts dangling edges, manifest violations, untyped facts, drafts, and unverified inferences. It never repairs anything.