Verification Before Completion
Run the verification command. Read the output. Then claim the result.
The Gate
Before claiming any status (done, fixed, passing, ready, complete):
- Identify — what command proves this claim?
- Run — execute the full command (fresh, not cached)
- Read — full output, check exit code, count failures
- Verify — does output confirm the claim?
- If NO: state actual status with evidence
- If YES: state claim with evidence
- Only then — make the claim
When to Apply
Before any completion claim, commit, PR creation, task completion, or moving to next task.
This applies to exact phrases ("tests pass", "done") and implications ("moving on to...", "looks good").
Agent Report Verification
Do not trust agent success reports. Agents may report partial completion as full, claim tests pass without running them, or be optimistic about their work.
After an agent reports success:
- Check VCS diff:
git diff HEAD~1 - Verify changes exist and match expectations
- Run verification commands yourself
- Then report actual state
Verification Patterns
| Claim | Requires | Not Sufficient | |-------|----------|----------------| | Tests pass | Test command output: 0 failures | Previous run, "should pass" | | Linter clean | Linter output: 0 errors | Partial check, extrapolation | | Build succeeds | Build command: exit 0 | Linter passing, logs look good | | Bug fixed | Test original symptom: passes | Code changed, assumed fixed | | Agent completed | VCS diff shows changes | Agent reports "success" | | Requirements met | Line-by-line checklist | Tests passing |
Red Flags — Stop
- Using "should", "probably", "seems to" before running verification
- Expressing satisfaction before verification ("Done!")
- About to commit without running tests
- Trusting agent success reports without checking diff
- Relying on partial verification
Integration
- TDD — verify RED, verify GREEN
- finishing-a-development-branch — verify tests before merge
- execute-plan — each task verified before marking complete