Overview
Every empirical claim links to the source it came from. A claim with no source is a ghost fact: it reads as knowledge, gets cited by later notes, and cannot be checked. The atom-level requirement is in atomic-notes; this page covers the source layer.
Link each empirical claim to a source note
Atoms carry a sources array of wikilinks into 10-Sources/, and claims carry a non-empty one, enforced by the auditor. “I read this somewhere” and a bare URL in the body are not sources.
Self-derived claims are legitimate; mark them. Set confidence: low and flag the note as self-derived so a query can separate what you concluded from what you read.
Make one source note per work
A source note represents a book, paper, episode, talk, dataset, or article. Highlights live inside it as referenceable blocks; the claims mined from it live in 20-Atoms/ and link back.
---
id: 202608291431
title: "@Minto (1987): The Pyramid Principle"
type: source
status: status/processed
source_type: book # book | paper | podcast | talk | dataset | article | video
author: ["Barbara Minto"]
year: 1987
atoms_extracted: 6
---Name files @author-year-short-title.md. The @ prefix sorts sources together and distinguishes a source link from an atom link in prose.
Track atoms_extracted to find unread sources
The count shows whether a source was digested or only filed. A source still at zero atoms 30 days after capture was collected, not read; the auditor reports it as C006. Treat the result as a reading queue, not a failure. In aggregate it diagnoses intake: 40 sources producing 12 atoms means a library, not a Zettelkasten.
Watch for source monoculture too. If one author supplies most citations in a domain, conclusions inherit that author’s blind spots. Count citations per author and source type in the monthly review.
Date verification so it expires
Empirical claims decay. A last_verified date plus a staleness threshold turns decay into a query.
confidence: high # high | medium | low
last_verified: 2026-08-29
decision_relevant: true # surfaces in the stale-verification gateThe auditor’s default threshold is 180 days (stale_verification_days); set it to the domain’s real half-life. When a decision-relevant claim goes stale, re-verify it against the source or downgrade confidence. Keeping high on an unchecked two-year-old claim is how a vault lies to its owner. Decision-time use is in decision-journals.
Gate publishable claims on corroboration and review
Where a claim leaves the vault (journalism, accountability research, regulated work), publishability needs several conditions together.
source_tier: on-record # primary-document | on-record | on-background | anonymous
corroboration_count: 2 # independent sources
legal_review_status: cleared # not-reviewed | in-review | cleared | held
publishable: "yes" # quoted, or YAML 1.1 coerces yes to trueSetting publishable with too few corroborations (default minimum 2, corroboration_min) or a pending review fails the audit as a critical (C011), because the gate exists for the moment someone is in a hurry. Which fields apply depends on the framework in rigor-frameworks.
Keep provenance resolvable from the atom
An agent reading the vault cites rather than asserts only if the source link resolves from the atom alone. Then a retrieved atom carries its provenance without loading the whole vault, which is the same property that makes retrieval answers checkable in rag-citations.