Source Verification
Verification inputs
| Input |
Source/provider |
If absent |
| Claim-source registry with URLs, quotes, statistics, and citations |
Research project |
Stop verification and report the missing registry. |
| Source access and archive/provider tools |
Source providers |
Mark unreachable checks unassessed and seek an authorised alternative. |
Capability Contract
Verification defaults to read-only. Network access may inspect sources when authorised; archive writes, source contact, registry edits, or publication require explicit authority.
Degraded Mode
If a URL, archive, provider, or tool is unavailable, report the claim as unverified with the attempted check. Never convert inaccessibility into confirmation.
Decision Rules
| Finding |
Action |
Failure/risk avoided |
| Quote or number differs from source |
Reject or correct with provenance |
Misquotation |
| URL resolves but does not support claim |
Reject claim-source link |
Citation laundering |
| Source unavailable and no archive exists |
Mark unresolved |
False verification |
Preliminary Verification Corrections
- Checking URL status only. Fix: verify claim support.
- Paraphrasing during quote verification. Fix: compare exact text.
- Accepting a secondary citation when primary is available. Fix: trace origin.
- Treating archive absence as falsity. Fix: mark unresolved.
- Editing evidence during read-only review. Fix: separate remediation.
Worked Example
For a quoted statistic, open the cited source, confirm definition, period, unit, and exact value, record the supporting location, and reject the citation if any material element differs.
Semantic claim-support boundary
Every release-bound claim should carry a support_review record with state
set to supported, unsupported, synthesis, inference, or no-source,
plus a reviewer, basis, and parseable review date. source_ids must be an
explicit list: use [] only with no-source, and use at least one known source
ID for every other state. The verifier rejects malformed state/source
combinations and non-list manifest collections. It does not decide whether the
wording is semantically supported. Every support state remains non-certifying;
metadata cannot promote an unsupported, no-source, or inference claim to
release-ready. Use tests/fixtures/claim-support-review.json and its
deterministic tests as the contract fixture.
Use When
- Use after research waves and before synthesis, drafting, export, or release.
- Use when checking quotes, statistics, URLs, source registries, claim registries, archive links, and citation drift.
- Use when a sub-agent output contains sourced material that must be accepted, rejected, or quarantined.
Do Not Use When
- The task is initial source quality assessment; use
source-evaluation first.
- The output contains no source-backed claims.
Required Inputs
| Input |
Source/provider |
If absent |
| Source, claim, quote, synthesis registries, and draft output |
Research project |
Stop verification and report the missing registry |
| Source files, URLs, document locators, and access dates |
Source providers |
Mark checks unassessed |
| Source-evaluation notes, credibility tiers, and verification trails |
Source-evaluation skill |
Narrow the verification claim |
Workflow
- Validate registry shape: roots, required fields, allowed values, and no placeholder values.
- Check source liveness and archive references.
- Verify quotes against cited locators.
- Spot-check statistics and numeric claims against source text.
- Confirm every claim has a correctly shaped source-ID list, references valid source IDs, and carries an explicit semantic support-review state.
- Confirm every synthesis references valid claim IDs.
- Quarantine unverified claims and log failures.
- Produce a verification manifest for release.
- Stop release when material support is missing or unresolved.
- Recover through an authorised archive or mark the claim unassessed; never convert inaccessibility into confirmation.
Tooling
Use the unified verifier when a project has a machine-readable source manifest:
python tools\verification\source_verifier.py projects\<project-id>\_registry\verification-manifest.yaml --out projects\<project-id>\_registry\verification-report.md
Use the citation-density dashboard on any Markdown draft before release:
python tools\reports\citation_density_dashboard.py projects\<project-id>\05-output\<output-family>\draft.md --manifest projects\<project-id>\_registry\verification-manifest.yaml --out projects\<project-id>\_registry\citation-density.md
Both tools return a non-zero exit code when release readiness fails.
Quality Standards
- Verification is independent of the agent that collected the source.
- Numeric claims and direct quotes are checked at point of claim.
- Dead URLs are replaced, archived, or removed.
- Claims with missing source links do not ship.
Anti-Patterns
- Treating a bibliography as verification. Fix: check claim support at the cited locator.
- Checking only that a URL exists, not that it supports the claim. Fix: verify content and scope.
- Accepting a quote without locator or exact-match check. Fix: compare the exact source text.
- Allowing imported legacy sources to appear release-ready without audit. Fix: classify freshness and uncertainty.
- Editing evidence during review. Fix: separate remediation from the read-only verification record.
Outputs
| Artifact |
Consumer |
Acceptance condition |
| Verification manifest, rejected-claim log, quote/stat spot-check notes, and registry repair list |
Researcher and release gate |
Every claim is verified, rejected, or explicitly unassessed with attempted checks |
Evidence Produced
| Category |
Artifact |
Format |
Example |
| Correctness |
Verification manifest |
Markdown/YAML |
Source, claim, quote, and synthesis checks |
| Release evidence |
Quarantine log |
Markdown table |
Claim ID, reason, action, reviewer |
References
- Load
references/verification-routine.md for the verification checklist and manifest.
- Load
references/research-product-audit.md before release of a research product.
Companion Skills
source-evaluation defines source credibility.
evidence-claim-graph defines claim-source relationships.
agentic-research-operations uses this skill for merge/reject decisions.
docs/quality-gates/release-blocking-gates.md defines ship/no-ship criteria.
Freshness, uncertainty, and product audit
Verification must check not only whether a source is reachable, but whether it is complete enough, current enough, and context-matched for the exact claim. Record publication/revision/access dates, locator, source status, and uncertainty. Historical, early-release, inaccessible, or corrupted material must remain visibly qualified. Before release, run references/research-product-audit.md; its raw score is shown but the published audit is capped at 65/100, and every remediation plan targets 95/100 with acceptance evidence.
After each verification wave, capture one process defect or waste category, define a reversible hypothesis, compare the same verification measures, and standardise only a demonstrated improvement. Do not edit source evidence during the audit; change claim status or the process in a separate remediation step.
Extended verification workflow
- Confirm the claim-source registry and accessible evidence; stop if the registry is absent.
- Verify URL identity, source content, quotations, definitions, periods, units, and claim support.
- Record exact supporting locations and contradictions.
- Reject fabricated, mismatched, or unsupported links.
- Recover from unavailable sources through authorised archives or mark the claim unassessed.
Extended verification outputs
| Artifact |
Consumer |
Acceptance condition |
| Verification manifest |
Researcher and release gate |
Every claim is verified, rejected, or explicitly unassessed with attempted checks. |
Extended verification anti-patterns
- Checking status only. Fix: verify support.
- Paraphrasing a quote. Fix: compare exact text.
- Stopping at secondary citation. Fix: trace origin.
- Treating archive absence as falsity. Fix: mark unresolved.
- Editing evidence in review. Fix: separate remediation.
1---2name: source-verification3description: Use when a research project must verify sources, URLs, quotes, statistics, claim-source links, archive snapshots, registry completeness, and release readiness after source evaluation and before synthesis or publication.4---56# Source Verification78## Verification inputs910| Input | Source/provider | If absent |11|---|---|---|12| Claim-source registry with URLs, quotes, statistics, and citations | Research project | Stop verification and report the missing registry. |13| Source access and archive/provider tools | Source providers | Mark unreachable checks unassessed and seek an authorised alternative. |1415## Capability Contract1617Verification defaults to read-only. Network access may inspect sources when authorised; archive writes, source contact, registry edits, or publication require explicit authority.1819## Degraded Mode2021If a URL, archive, provider, or tool is unavailable, report the claim as unverified with the attempted check. Never convert inaccessibility into confirmation.2223## Decision Rules2425| Finding | Action | Failure/risk avoided |26|---|---|---|27| Quote or number differs from source | Reject or correct with provenance | Misquotation |28| URL resolves but does not support claim | Reject claim-source link | Citation laundering |29| Source unavailable and no archive exists | Mark unresolved | False verification |3031## Preliminary Verification Corrections3233- Checking URL status only. Fix: verify claim support.34- Paraphrasing during quote verification. Fix: compare exact text.35- Accepting a secondary citation when primary is available. Fix: trace origin.36- Treating archive absence as falsity. Fix: mark unresolved.37- Editing evidence during read-only review. Fix: separate remediation.3839## Worked Example4041For a quoted statistic, open the cited source, confirm definition, period, unit, and exact value, record the supporting location, and reject the citation if any material element differs.4243## Semantic claim-support boundary4445Every release-bound claim should carry a `support_review` record with `state`46set to `supported`, `unsupported`, `synthesis`, `inference`, or `no-source`,47plus a reviewer, basis, and parseable review date. `source_ids` must be an48explicit list: use `[]` only with `no-source`, and use at least one known source49ID for every other state. The verifier rejects malformed state/source50combinations and non-list manifest collections. It does not decide whether the51wording is semantically supported. Every support state remains non-certifying;52metadata cannot promote an unsupported, no-source, or inference claim to53release-ready. Use `tests/fixtures/claim-support-review.json` and its54deterministic tests as the contract fixture.5556<!-- dual-compat-start -->5758## Use When5960- Use after research waves and before synthesis, drafting, export, or release.61- Use when checking quotes, statistics, URLs, source registries, claim registries, archive links, and citation drift.62- Use when a sub-agent output contains sourced material that must be accepted, rejected, or quarantined.6364## Do Not Use When6566- The task is initial source quality assessment; use `source-evaluation` first.67- The output contains no source-backed claims.6869## Required Inputs7071| Input | Source/provider | If absent |72|---|---|---|73| Source, claim, quote, synthesis registries, and draft output | Research project | Stop verification and report the missing registry |74| Source files, URLs, document locators, and access dates | Source providers | Mark checks unassessed |75| Source-evaluation notes, credibility tiers, and verification trails | Source-evaluation skill | Narrow the verification claim |7677## Workflow78791. Validate registry shape: roots, required fields, allowed values, and no placeholder values.802. Check source liveness and archive references.813. Verify quotes against cited locators.824. Spot-check statistics and numeric claims against source text.835. Confirm every claim has a correctly shaped source-ID list, references valid source IDs, and carries an explicit semantic support-review state.846. Confirm every synthesis references valid claim IDs.857. Quarantine unverified claims and log failures.868. Produce a verification manifest for release.879. Stop release when material support is missing or unresolved.8810. Recover through an authorised archive or mark the claim unassessed; never convert inaccessibility into confirmation.8990## Tooling9192Use the unified verifier when a project has a machine-readable source manifest:9394```powershell95python tools\verification\source_verifier.py projects\<project-id>\_registry\verification-manifest.yaml --out projects\<project-id>\_registry\verification-report.md96```9798Use the citation-density dashboard on any Markdown draft before release:99100```powershell101python tools\reports\citation_density_dashboard.py projects\<project-id>\05-output\<output-family>\draft.md --manifest projects\<project-id>\_registry\verification-manifest.yaml --out projects\<project-id>\_registry\citation-density.md102```103104Both tools return a non-zero exit code when release readiness fails.105106## Quality Standards107108- Verification is independent of the agent that collected the source.109- Numeric claims and direct quotes are checked at point of claim.110- Dead URLs are replaced, archived, or removed.111- Claims with missing source links do not ship.112113## Anti-Patterns114115- Treating a bibliography as verification. Fix: check claim support at the cited locator.116- Checking only that a URL exists, not that it supports the claim. Fix: verify content and scope.117- Accepting a quote without locator or exact-match check. Fix: compare the exact source text.118- Allowing imported legacy sources to appear release-ready without audit. Fix: classify freshness and uncertainty.119- Editing evidence during review. Fix: separate remediation from the read-only verification record.120121## Outputs122123| Artifact | Consumer | Acceptance condition |124|---|---|---|125| Verification manifest, rejected-claim log, quote/stat spot-check notes, and registry repair list | Researcher and release gate | Every claim is verified, rejected, or explicitly unassessed with attempted checks |126127## Evidence Produced128129| Category | Artifact | Format | Example |130|---|---|---|---|131| Correctness | Verification manifest | Markdown/YAML | Source, claim, quote, and synthesis checks |132| Release evidence | Quarantine log | Markdown table | Claim ID, reason, action, reviewer |133134## References135136- Load `references/verification-routine.md` for the verification checklist and manifest.137- Load `references/research-product-audit.md` before release of a research product.138139<!-- dual-compat-end -->140141## Companion Skills142143- `source-evaluation` defines source credibility.144- `evidence-claim-graph` defines claim-source relationships.145- `agentic-research-operations` uses this skill for merge/reject decisions.146- `docs/quality-gates/release-blocking-gates.md` defines ship/no-ship criteria.147148## Freshness, uncertainty, and product audit149150Verification must check not only whether a source is reachable, but whether it is complete enough, current enough, and context-matched for the exact claim. Record publication/revision/access dates, locator, source status, and uncertainty. Historical, early-release, inaccessible, or corrupted material must remain visibly qualified. Before release, run `references/research-product-audit.md`; its raw score is shown but the published audit is capped at 65/100, and every remediation plan targets 95/100 with acceptance evidence.151152After each verification wave, capture one process defect or waste category, define a reversible hypothesis, compare the same verification measures, and standardise only a demonstrated improvement. Do not edit source evidence during the audit; change claim status or the process in a separate remediation step.153154## Extended verification workflow1551561. Confirm the claim-source registry and accessible evidence; stop if the registry is absent.1572. Verify URL identity, source content, quotations, definitions, periods, units, and claim support.1583. Record exact supporting locations and contradictions.1594. Reject fabricated, mismatched, or unsupported links.1605. Recover from unavailable sources through authorised archives or mark the claim unassessed.161162## Extended verification outputs163164| Artifact | Consumer | Acceptance condition |165|---|---|---|166| Verification manifest | Researcher and release gate | Every claim is verified, rejected, or explicitly unassessed with attempted checks. |167168## Extended verification anti-patterns169170- Checking status only. Fix: verify support.171- Paraphrasing a quote. Fix: compare exact text.172- Stopping at secondary citation. Fix: trace origin.173- Treating archive absence as falsity. Fix: mark unresolved.174- Editing evidence in review. Fix: separate remediation.