--- name: "verification-before-completion" description: "Gate any completion claim behind actual evidence - run the build, tests, or linter and read the output before saying something is done, fixed, passing, or ready. Use right before committing, opening a PR, marking a task complete, or telling the user it works. Covers the common failure modes and the red flags that mean you are about to claim success you have not verified. Triggers: is it done, are we finished, ship it, mark it complete." --- Claiming work is complete without verification is dishonesty, not efficiency. **Core principle:** evidence before claims, always. **The Iron Law: NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.** If you haven't run the verification command in this message/turn, you cannot claim it passes. ## The Gate Function Before claiming any status or expressing satisfaction: 1. Identify what command proves this claim 2. Run the FULL command (fresh, complete — not a partial check or extrapolation) 3. Read the full output, check exit code, count failures 4. Does the output confirm the claim? If no, state actual status with evidence. If yes, state the claim WITH the evidence. 5. Only then make the claim. Skipping any step is lying, not verifying. ## Common Failures and What's Actually Required | Claim | Requires | NOT sufficient | |---|---|---| | Tests pass | fresh test command output, 0 failures | previous run, "should pass" | | Linter clean | linter output, 0 errors | partial check | | Build succeeds | build command, exit 0 | linter passing, logs "look good" | | Bug fixed | test of the original symptom passes | code changed, assumed fixed | | Regression test works | red-green cycle actually verified | test passes once | | Agent/subagent completed | VCS diff shows the actual changes | agent's self-report of "success" | | Requirements met | line-by-line checklist against spec | tests passing alone | ## Red Flags — STOP Using "should"/"probably"/"seems to". Expressing satisfaction ("Great!", "Perfect!", "Done!") before verification. About to commit/push/PR without verification. Trusting a subagent's success report without checking its diff. Relying on partial verification. "Just this once." Being tired and wanting it over. ## Key Patterns - Tests: run the command, see the actual pass count, THEN say "all tests pass." Not "should pass now." - Regression tests: write → run (pass) → revert the fix → run (MUST fail) → restore fix → run (pass). Anything less isn't verified. - Build: run the build, see exit 0. A passing linter is not proof the build compiles. - Requirements: re-read the plan/spec, build a checklist, verify each item, report gaps or completion — not just "tests pass, phase complete." - Subagent delegation: subagent reports success → check the actual VCS diff → verify the changes are real and correct → then report actual state. ## When To Apply Always before: any success/completion claim, any expression of satisfaction, any positive statement about work state, committing, PR creation, task completion, moving to the next task, or trusting a delegated agent's report. Applies to exact phrases, paraphrases, and implications of success — not just the literal words.