claim-verification
Claim Verification
Overview
Evidence-reliability check that walks every tagged claim in .writing/manuscript/*.tex and proves it supportable. Two core passes — completeness and citation resolution (dual source of truth via Zotero + network, with semantic match against the cited abstract) — plus an optional numeric/table consistency pass. Outputs .writing/verify-report.md per-claim PASS/FAIL and caches resolved DOIs in .writing/verify-cache.json.
The most valuable check for an AI-drafted skeleton is Pass 2: it catches hallucinated DOIs and citations whose abstract does not actually support the claim — exactly the reliability the human author leans on when refining.
Core principle: Evidence before claims, always. Violating the letter of this rule is violating the spirit.
Iron law: No STATUS: verified flip without fresh pass evidence recorded in the report.
Relation to the PreToolUse hook: the hook (see superpower-writing:main §Claim-First Protocol) already blocks prose writes against stub-status claims during drafting — drafting flips STATUS to evidence_ready when evidence is found. This skill is what flips evidence_ready → verified after the passes succeed. Never edit STATUS to verified manually: the audit trail lives in .writing/verify-report.md.
Optional term-ordering hook. If the project opted into .writing/glossary.md, a companion hook at hooks/enforce-terms.sh already blocked any write where a % define: tag landed in the wrong section or a % use: tag referenced a term whose defined_in sits later in the paper. This verification skill does not re-run those checks; they are edit-time invariants, not verification-gate invariants. If you suspect a term ordering drifted after manual edits outside Claude, sweep manually with grep -n '% \(define\|use\):' .writing/manuscript/*.tex and cross-reference .writing/glossary.md.