Skip to main content
Evidence answers two questions: what conclusion holds, and which code or document that conclusion is bound to. Different evidence types cannot replace one another.

Automated verification evidence

See the verify options → This is the only supported entry point for writing local kind: "test" evidence. It actually executes each automated verification and records the command, exit code, result, time, and current commit SHA. Failures are recorded too. Solo mode creates a temporary claim when needed and releases it afterward. Team mode requires a valid claim in advance. If a feature mixes automated and manual verification items, verify skips the manual ones (it never executes a manual item’s description as a shell command) and still records evidence for the automated ones — record the manual part separately with evidence manual. A feature that is fully manual has nothing for verify to do; it’s a no-op, not a failure.

Manual verification evidence

See the evidence manual options → --verification is one-based and must point to a manual verification. The notes should record the environment, steps, and observed result.

Independent review evidence

See the review record options → The reviewer cannot be the claim owner, and the review must occur after the latest passing verification. After further changes and verification, record another review.

Artifact approval

See the evidence approval options → An approval is bound to the artifact path, SHA-256 content hash, and current commit. When the file content changes, the previous approval becomes stale and validate requires a new approval.

GitHub Actions evidence

See the evidence import options → The tool uses the GitHub CLI to confirm that the run exists, has completed, and has a successful conclusion. It does not import a failed, in-progress, or nonexistent run.
Do not hand-write test or review records that appear to pass. The CLI validates inputs, binds evidence to a commit, and uses atomic writes to avoid overwriting concurrent changes.