| 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 |
| "Regression test works" |
Red-green cycle verified |
Test passes once |
| "Agent completed" |
VCS diff shows changes |
Agent reports "success" |
| "Requirements met" |
Line-by-line checklist |
Tests passing |
| "No errors" |
Command output reviewed |
"I think it's fine" |
| Excuse |
Reality |
| "Should work now" |
RUN the verification |
| "I'm confident" |
Confidence ≠ evidence |
| "Just this once" |
No exceptions |
| "Linter passed" |
Linter ≠ compiler |
| "Agent said success" |
Verify independently |
| "I'm tired" |
Exhaustion ≠ excuse |
| "Partial check is enough" |
Partial proves nothing |
| "Different words so rule doesn't apply" |
Spirit over letter |
| "It worked before" |
Run it NOW |
| "Too slow to run again" |
Slow verification > fast lies |
|
|
KEY PATTERNS
Tests
✅ CORRECT:
[Run: npm test]
[Output: 34/34 passing]
"All 34 tests pass."
❌ WRONG:
"Should pass now"
"Looks correct"
"Tests are green" (without running)
Regression Tests (TDD Red-Green)
✅ CORRECT:
1. Write test → Run (MUST PASS initial state or FAIL for right reason)
2. Break the code → Run (MUST FAIL)
3. Fix → Run (MUST PASS)
❌ WRONG:
"I've written a regression test"
(without red-green verification)
Build
✅ CORRECT:
[Run: npm run build]
[Output: Compiled successfully]
"Build passes."
❌ WRONG:
"Linter passed, so build should work"
(linter doesn't check compilation)
Requirements
✅ CORRECT:
1. Re-read plan/requirements
2. Create explicit checklist
3. Verify EACH item with evidence
4. Report gaps or confirm completion
❌ WRONG:
"Tests pass, phase complete"
(tests ≠ requirements)
Agent Delegation
✅ CORRECT:
1. Agent reports success
2. Check VCS diff (git diff, git status)
3. Verify changes are what was requested
4. Report actual state
❌ WRONG:
Trust agent report without verification
JavaScript/TypeScript
# Tests
npm test
npm run test -- --coverage
# Build
npm run build
# Lint
npm run lint
npx eslint . --ext .ts,.tsx
# Type check
npx tsc --noEmit
Python
# Tests
pytest
pytest --cov=src
# Lint
ruff check .
flake8 .
# Type check
mypy src/
General
# Git status (uncommitted changes)
git status
# Git diff (what changed)
git diff
# Process exit code (last command)
echo $? # Unix
$LASTEXITCODE # PowerShell