| name | verification |
| description | Use before claiming work complete, fixed, or passing. Requires running verification commands and confirming output before any success claims. Triggers: about to commit, create PR, mark task done, say "it works". |
Verification Before Completion
Evidence before claims. Always.
The Iron Law
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in this step, you cannot claim it passes.
The Gate
Before ANY claim of success:
1. IDENTIFY → What command proves this claim?
2. RUN → Execute full command (fresh)
3. READ → Full output, check exit code
4. VERIFY → Does output confirm claim?
5. CLAIM → Only now, with evidence
Skip any step = lying, not verifying.
Integration with Ant-Act
Before ant-act signals completed, ALL verification must pass:
{
"step": "Add retry logic",
"verification": {
"tests": { "command": "npm test", "result": "47/47 pass", "exit_code": 0 },
"lint": { "command": "npm run lint", "result": "0 errors", "exit_code": 0 },
"build": { "command": "npm run build", "result": "compiled", "exit_code": 0 }
},
"all_verified": true
}
Evidence Requirements
| Claim | Requires | NOT Sufficient |
|---|---|---|
| Tests pass | Test output: 0 failures | "should pass", previous run |
| Lint clean | Lint output: 0 errors | partial check |
| Build works | Build: exit 0 | lint passing |
| Bug fixed | Symptom test passes | "code changed" |
| Feature done | All acceptance tests pass | "it compiles" |
Red Flags - STOP If You Think These
| Thought | Reality |
|---|---|
| "Should work now" | RUN the verification. |
| "I'm confident" | Confidence ≠ evidence. |
| "Just this once" | No exceptions. |
| "Linter passed" | Linter ≠ tests ≠ build. |
| "I'm tired" | Exhaustion ≠ excuse. |
| "Looks correct" | Run. The. Command. |
Verification Artifact
Each verification produces evidence:
{
"timestamp": "2025-01-02T16:30:00Z",
"claim": "All tests pass",
"verifications": [
{
"type": "test",
"command": "npm test",
"output_summary": "Test Suites: 5 passed, 5 total",
"exit_code": 0,
"passed": true
}
],
"overall": "verified"
}
Signals to Ant-Act
| Signal | When | Payload |
|---|---|---|
verified |
All checks pass | Verification artifact |
failed |
Any check fails | { "failed_checks": [...], "output": "..." } |
blocked |
Can't run verification | { "reason": "...", "needs_human": true } |
Verification Checklist
Before signaling completed to ant-orient:
- Identified all verification commands
- Ran each command fresh (not cached)
- Read full output (not just exit code)
- All exit codes are 0
- No warnings treated as acceptable
- Evidence artifact created
- Can quote specific output proving claim
The Bottom Line
RUN → READ → THEN CLAIM
No shortcuts. No "should work". No assumptions.
Evidence or silence.