verify-provenancelisted
Install: claude install-skill Quarktex/qcobrain
# Skill: verify-provenance
The model-free proof of qcobrain's one promise: **every claim in `wiki/` re-resolves, verbatim, in
`sources/`.** `/wiki-doctor` describes this check as a reasoning workflow; this skill makes it a plain
script anyone — a contributor, CI, or a skeptic evaluating the repo — can run to PROVE the graph holds
with no LLM in the loop. If it exits `0`, cite-or-refuse is intact; if it exits non-zero, something
drifted and the message says exactly what.
## Run it
```bash
python3 skills/verify-provenance/verify_provenance.py # full report
python3 skills/verify-provenance/verify_provenance.py --quiet # summary + failures only (CI mode)
python3 skills/verify-provenance/verify_provenance.py --root . # explicit repo root
```
It needs nothing but Python 3 (standard library) and reads only `wiki/` and `sources/`. No network, no
config, no API key, no model.
## What it checks
For every `wiki/<id>.md` note (it skips `README.md` and any file without a frontmatter `id:`):
**Hard checks — any failure exits non-zero:**
1. Every ` ```src ` block names a `source` key that is registered in `sources/_sources.md`.
2. The registered source file exists on disk.
3. The source's live `sha256[:12]` matches the hash recorded in `sources/_sources.md` (no silent drift).
4. The block's `quote` re-resolves as a **verbatim substring** of that source (whitespace-normalized).
5. A note carries **at least one** ` ```src ` block — a `wiki/` note with no citation belongs in