| name | verification-before-completion |
| description (EN) | Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always |
| 說明 (繁中) | 當你正要宣稱工作已完成、已修正或通過,在 commit 或建立 PR 之前使用 —— 要求執行驗證指令並確認輸出,之後才能作出任何成功的宣稱;永遠先有證據再有斷言 |
Core principle: Evidence before claims, always.
核心原則: 先有證據,再有宣稱,永遠如此。
Violating the letter of this rule is violating the spirit of this rule.
違反這條規則的字面意義,就是違反它的精神。
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in this message, you cannot claim it passes.
如果你沒有在這一則訊息中執行驗證指令,你就不能宣稱它通過。
BEFORE claiming any status or expressing satisfaction:
1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
- If NO: State actual status with evidence
- If YES: State claim WITH evidence
5. ONLY THEN: Make the claim
Skip any step = lying, not verifying
BEFORE claiming any status or expressing satisfaction:
1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
- If NO: State actual status with evidence
- If YES: State claim WITH evidence
5. ONLY THEN: Make the claim
Skip any step = lying, not verifying
| 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 |
| 宣稱 | 需要 | 不足夠 |
|---|---|---|
| 測試通過 | 測試指令輸出:0 失敗 | 之前跑過、「應該會過」 |
| Linter 乾淨 | Linter 輸出:0 錯誤 | 部分檢查、推論 |
| 建置成功 | 建置指令:exit 0 | Linter 通過、日誌看起來正常 |
| Bug 已修正 | 測試原始症狀:通過 | 改了程式碼、假定已修好 |
| 回歸測試有效 | 驗證過紅 → 綠循環 | 測試通過一次 |
| 代理已完成 | VCS diff 顯示變更 | 代理回報「成功」 |
| 需求已滿足 | 逐行檢查清單 | 測試通過 |
| 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 |
| 藉口 | 事實 |
|---|---|
| 「現在應該能用了」 | 執行驗證 |
| 「我有信心」 | 信心 ≠ 證據 |
| 「就這麼一次」 | 沒有例外 |
| 「Linter 過了」 | Linter ≠ 編譯器 |
| 「代理說成功了」 | 獨立驗證 |
| 「我累了」 | 疲憊 ≠ 藉口 |
| 「部分檢查就夠了」 | 部分什麼都證明不了 |
| 「換句話說所以規則不適用」 | 精神優先於字面 |
Tests:
✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
測試:
✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
Regression tests (TDD Red-Green):
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)
回歸測試(TDD 紅-綠):
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)
Build:
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
建置:
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
Requirements:
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
需求:
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
Agent delegation:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
代理委派:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
ALWAYS before: - ANY variation of success/completion claims - ANY expression of satisfaction - ANY positive statement about work state - Committing, PR creation, task completion - Moving to next task - Delegating to agents
一律在以下之前: - 任何形式的成功/完成宣稱 - 任何滿意的表達 - 任何關於工作狀態的正面陳述 - Commit、建立 PR、任務完成 - 進行到下一個任務 - 委派給代理
Rule applies to: - Exact phrases - Paraphrases and synonyms - Implications of success - ANY communication suggesting completion/correctness
規則適用的範圍: - 確切的措辭 - 改寫與同義詞 - 成功的暗示 - 任何暗示完成/正確的溝通