Citation Protocol
Memora treats citations as verifiable references to claim IDs.
Claim marker format
LLM responses use [claim:<id>].
Example:
drift switched to MessagePack for serialization [claim:drf75a1c9e10b2aa]
Verification steps
- Parse claim markers from LLM output.
- Resolve each claim ID from SQLite.
- Resolve note path and byte span.
- Re-read source span from markdown body.
- Recompute full-width BLAKE3 (256-bit) fingerprint and compare. Legacy 64-bit fingerprints written by older versions still verify until the vault is re-indexed.
- Optionally verify quote overlap (substring containment — provenance, not entailment).
- Check temporal validity: a claim whose
valid_untilhas passed issuperseded.
Status values
verifiedunverified(claim missing / hallucinated id)fingerprint_mismatch(source changed since extraction)quote_mismatch(marker quote not contained in the span)superseded(provenance intact, but the claim'svalid_untilhas expired — surfaced, not asserted as current)
Verified answer semantics
clean_text is rewritten to keep only statements supported by verified claim markers.
This means "verified" in Memora is an architectural property (data + hash + span), not a prompt instruction.
For example, a verified claim can point to semantic/projects/drift/roadmap.md with a span that captures the MessagePack decision text.