| name | proving-claims |
| description | Maps claims to evidence, statuses, gaps, tests, evals, reviews, and traces, and narrows anything unsupported into an explicit non-claim. Use when a packet asserts something a reviewer must trust. Do not use to invent evidence that does not exist, or to treat green CI as proof of unrelated claims. |
Proving Claims
Overview
Evidence should answer named claims. It should not just create a vague sense that the change is fine. This skill turns each claim into a proof you can trace. It keeps six things apart: a fact, an assumption, an unknown, a source claim (something a source says), local proof (something you checked yourself), and decision authority (who gets to decide).
Decision contract
- Claim checked: every material claim is tied to evidence, a stated gap, or a deliberate deferral, no claim reaches past its evidence, and the load-bearing claim's evidence is reproducible by an independent party or independently authored — not the actor's own narration.
- Artifact observed:
basis.md, test, and review evidence -> claim-to-evidence rows with a status (pass/fail/gap/deferred/not applicable/planned) in trace.md/verification.md.
- Decision affected: warn -- the release posture the
ship.md decision weighs.
- Failure class: overreaching-claim (a claim stated past its evidence, or a
fail/unowned gap carried as shippable).
- Next action: record the gap as residual risk for
ship.md; a fail or unowned gap escalates to block.
When to Use
- A change record makes claims about the code, says something about safety or security, claims release readiness, or claims a dependency can be trusted.
- Tests pass, but reviewers cannot see which claim each test backs up.
- Evidence gaps have to be accepted, put off, or treated as blockers.
- The proof needs the right kind of check. The kinds are self-check, peer-check, concurrent verification (a second person checks as you go), independent verification (a separate person checks afterward), peer review, a test, or an eval.
When Not to Use
- The claim is purely about wording and carries no engineering or trust weight.
- The request is for formal verification and validation or certification. This skill does not provide those.
Inputs
basis.md, trace.md, verification.md, and ship.md.
- Test commands, CI runs, reviews, logs, diffs, screenshots, and source links.
- Known gaps and leftover risks.
Process
- Pull out each important claim.
- Pick the kind of check each claim needs, and match its depth to the mode: Quick shows the path ran; Standard exercises the branches that matter; Nuclear shows that the conditions which carry consequence independently change the outcome. A green bar at statement level is not condition-level evidence.
- Sort the support behind each claim into one of these: fact, assumption, unknown, source claim, local proof, or decision authority.
- Link each claim to its basis, the control or design feature, the code, the evidence, and the release posture.
- Give each claim an evidence status:
pass, fail, gap, deferred, not applicable, or planned.
- Trim any claim that reaches too far, until the evidence truly backs it.
- Record the gaps and how they affect the release.
- For each load-bearing claim, name who authored the evidence relative to the actor. If only the actor did, it is a self-check: raise it to a reproducible or independently authored check, or carry the gap as residual risk — do not count it as an independent check. See
docs/02-operating-system/actor-evidence-independence.md.
Outputs
- Claim-to-evidence rows in
trace.md or verification.md.
- A clear split between fact, source, and proof for each important claim.
- Evidence commands anyone can rerun, or links to the artifacts.
- The kind of check used for each important claim.
- An updated release posture when the evidence changes.
Verification
python tools/ng.py validate .nuclear/changes/<slug> passes for Quick or Standard records.
- Every important claim has evidence, a stated gap, or a deliberate deferral.
- No test result is used to imply unrelated safety, security, compliance, or approval.
Escalation
- Stop when the evidence is missing but the record still wants to ship.
- Escalate when claims affect public trust, regulated use, procurement, security, or safety.
Common Rationalizations
- "CI passed, so all claims pass." CI only proves what it checks.
- "The model did the arithmetic." A number a model states in prose is narration, not evidence — for a quantitative, temporal, or logical claim the evidence is executed code the reviewer can rerun (program-aided reasoning). See
docs/05-reference/reasoning-techniques.md.
- "A reviewer can read the code." Review counts as evidence only when its scope and result are written down.
- "The same agent checked itself." That can be a self-check, but it is not an independent check — the actor that made the change also wrote the proof, so the gate is downstream of the same mistake.
- "The write-up says it passed." A confident narrative the actor authored is a claim, not evidence. Verify it; do not read it as the verification.
- "We should not mention gaps." Hidden gaps lead to worse release decisions.
Red Flags
- The evidence status is missing.
- A claim says "safe", "secure", "compliant", or "approved" with no scope around it.
- The release decision ignores failed or deferred evidence.
- The only evidence for the load-bearing claim is the actor's own narration, and no independent party can reproduce it.
Prompt
Prove the important Nuclear-grade claims in this packet.
Inputs:
- packet: .nuclear/changes/<slug>/
- claims: <list or source file>
- evidence available: <commands/links/reviews/logs>
- known gaps: <list>
Return:
- claim -> basis -> control/design feature -> support type -> verification type -> evidence -> status -> ship posture
- for each load-bearing claim: who authored the evidence relative to the actor, whether an independent party can reproduce it, and the independence rung (a self-check carried as residual risk if below the stakes)
- narrower wording for any claim that is too broad
- the gaps, deferrals, or blockers, stated plainly
- the validator command to run
Source-lineage note
This skill is an original claim-evidence workflow influenced by public software assurance, verification discipline, and secure development sources mapped in docs/00-standards-foundation/source-map.md. It is not formal verification.