verification-before-completion

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Verification Before Completion

完成前验证

Overview

概述

Claiming work is complete without verification is dishonesty, not efficiency.
Core principle: Evidence before claims, always.
Violating the letter of this rule is violating the spirit of this rule.
未经核实就声称工作已完成是不诚信,而非效率。
核心原则: 永远先举证,后声明。
违反本条规则的字面要求,即是违反规则精神。

The Iron Law

铁律

NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in this message, you cannot claim it passes.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
如果你没有在本次消息上下文里运行验证命令,就不能声称验证通过。

The Gate Function

关卡函数

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
跳过任何步骤 = 撒谎,而非验证

Common Failures

常见错误

ClaimRequiresNot Sufficient
Tests passTest command output: 0 failuresPrevious run, "should pass"
Linter cleanLinter output: 0 errorsPartial check, extrapolation
Build succeedsBuild command: exit 0Linter passing, logs look good
Bug fixedTest original symptom: passesCode changed, assumed fixed
Regression test worksRed-green cycle verifiedTest passes once
Agent completedVCS diff shows changesAgent reports "success"
Requirements metLine-by-line checklistTests passing
声明所需依据不充分的参考
测试通过测试命令输出:0失败之前的运行结果、“应该能通过”
Linter无报错Linter输出:0错误部分检查、推断结果
构建成功构建命令:退出码0Linter通过、日志看起来正常
Bug已修复原症状测试:通过代码已修改、假设已修复
回归测试有效红-绿流程已验证测试仅通过一次
Agent已完成VCS diff显示变更Agent报告“成功”
需求已满足逐行核对检查清单测试通过

Red Flags - STOP

危险信号 - 立即停止

  • Using "should", "probably", "seems to"
  • Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
  • About to commit/push/PR without verification
  • Trusting agent success reports
  • Relying on partial verification
  • Thinking "just this once"
  • Tired and wanting work over
  • ANY wording implying success without having run verification
  • 使用“should”、“probably”、“seems to”这类模糊表述
  • 在验证前表达满意(“Great!”、“Perfect!”、“Done!”等)
  • 未经验证就准备提交/推送/发起PR
  • 信任Agent的成功报告
  • 依赖部分验证结果
  • 抱有“就这一次”的侥幸想法
  • 疲惫想尽快结束工作
  • 任何暗示已成功但未运行验证的措辞

Rationalization Prevention

杜绝合理化借口

ExcuseReality
"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 ≠ 编译器
“Agent说成功了”独立验证
“我累了”疲惫 ≠ 借口
“部分检查就够了”部分验证证明不了任何事
“措辞不一样所以规则不适用”精神重于字面

Key Patterns

关键模式

Tests:
✅ [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)
Build:
✅ [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"
Agent delegation:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
测试:
✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
回归测试(TDD 红-绿):
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)
构建:
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
需求:
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
Agent委托:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report

Why This Matters

为什么这很重要

From 24 failure memories:
  • your human partner said "I don't believe you" - trust broken
  • Undefined functions shipped - would crash
  • Missing requirements shipped - incomplete features
  • Time wasted on false completion → redirect → rework
  • Violates: "Honesty is a core value. If you lie, you'll be replaced."
来自24次失败经验总结:
  • 你的人类伙伴说“我不相信你”——信任破裂
  • 未定义函数被发布——会引发崩溃
  • 未满足的需求被交付——功能不完整
  • 虚假完成导致时间浪费→工作方向调整→返工
  • 违反核心准则:“诚信是核心价值观。如果你撒谎,就会被替换。”

When to Use

适用场景

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
Rule applies to:
  • Exact phrases
  • Paraphrases and synonyms
  • Implications of success
  • ANY communication suggesting completion/correctness
以下操作前必须遵守:
  • 任何形式的成功/完成声明
  • 任何满意表达
  • 任何关于工作状态的正面表述
  • 提交代码、创建PR、标记任务完成
  • 切换到下一项任务
  • 委托任务给Agent
规则适用于:
  • 精确相关表述
  • 转述和同义词表达
  • 成功暗示
  • 任何暗示完成/正确性的沟通内容

The Bottom Line

底线

No shortcuts for verification.
Run the command. Read the output. THEN claim the result.
This is non-negotiable.
验证没有捷径。
运行命令。查看输出。然后再声明结果。
这是硬性要求。

When to Use

何时使用

This skill is applicable to execute the workflow or actions described in the overview.
本技能适用于执行概述中描述的工作流或操作场景。