Evidence Gate
Evidence comes before status. Do not say work is complete, fixed, passing, ready, committed, pushed, PR-ready, or handoff-ready until the current turn includes evidence for that exact claim.
When to use
- Before saying a task is done or fixed
- Before committing or pushing
- Before opening or updating a PR
- Before marking an issue ready for review or done
- Before handing work to another agent or human
- After an agent, tool, or CI job reports success
Gate
- State the claim you are about to make.
- Identify the smallest command or inspection that proves that claim.
- Run the full command, or inspect the required artifact.
- Read the output and exit code.
- Compare the result to the claim.
- Report the exact evidence, or state the blocker.
Evidence matrix
| Claim | Evidence required |
|---|---|
| Tests pass | Test command exits 0 and reports no failures |
| Lint clean | Lint command exits 0 and reports no warnings |
| Typecheck/build passes | Typecheck/build command exits 0 |
| Bug fixed | Original reproduction or regression check passes |
| Requirements met | Checklist against requested scope, not tests alone |
| Commit ready | git diff --cached reviewed plus relevant checks |
| Push ready | Branch, commit, and remote target verified |
| PR ready | Verification commands, PR title/body, diff scope |
| Handoff ready | Current status, changed files, verification result |
Reporting format
Use this structure in the final response or handoff:
Verification:
- `<command>`: passed
- `<command>`: failed — <reason>
Not run:
- `<command>` — <reason>
If a check fails, do not soften the result. State the failure and the next action.
Anti-patterns
- Saying "should pass" without running the check.
- Treating one passing check as proof of all checks.
- Trusting a tool or subagent success message without inspecting the diff or output.
- Opening a PR with missing local verification notes.
- Marking scope complete because tests pass.