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
CODEBLOCK0
If you haven't run the verification command in this message, you cannot claim it passes.
The Gate Function
CODEBLOCK1
Common Failures
| 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 |
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
Rationalization Prevention
| 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 |
Key Patterns
Tests:
CODEBLOCK2
Regression tests (TDD Red-Green):
CODEBLOCK3
Build:
CODEBLOCK4
Requirements:
CODEBLOCK5
Agent delegation:
CODEBLOCK6
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."
When To Apply
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
The Bottom Line
No shortcuts for verification.
Run the command. Read the output. THEN claim the result.
This is non-negotiable.
完成前验证
概述
未经验证就声称工作已完成,这是欺骗而非高效。
核心原则: 先有证据,再下结论,始终如此。
违反本规则的字面意思就是违反本规则的精神。
铁律
无最新验证证据,不得声称完成
若未在此消息中运行验证命令,则不能声称其通过。
门控函数
在声称任何状态或表达满意之前:
- 1. 识别:什么命令能证明这一声称?
- 运行:执行完整命令(全新、完整)
- 读取:完整输出,检查退出码,统计失败数
- 验证:输出是否确认了声称?
- 若否:用证据说明实际状态
- 若是:用证据陈述声称
- 5. 然后:才能做出声称
跳过任何步骤 = 说谎,而非验证
常见失败
| 声称 | 必要条件 | 不充分条件 |
|---|
| 测试通过 | 测试命令输出:0 失败 | 之前运行过、应该能通过 |
| 代码检查干净 |
代码检查输出:0 错误 | 部分检查、外推 |
| 构建成功 | 构建命令:退出码 0 | 代码检查通过、日志看起来不错 |
| 缺陷已修复 | 测试原始症状:通过 | 代码已更改、假设已修复 |
| 回归测试有效 | 红绿循环已验证 | 测试通过一次 |
| 智能体已完成 | VCS 差异显示变更 | 智能体报告成功 |
| 需求已满足 | 逐行检查清单 | 测试通过 |
危险信号 - 立即停止
- - 使用应该、可能、似乎
- 在验证前表达满意(太棒了!、完美!、完成了!等)
- 即将提交/推送/创建 PR 而未验证
- 信任智能体的成功报告
- 依赖部分验证
- 认为就这一次
- 疲惫而想结束工作
- 任何暗示成功但未运行验证的措辞
合理化预防
确信 ≠ 证据 |
| 就这一次 | 没有例外 |
| 代码检查通过了 | 代码检查 ≠ 编译器 |
| 智能体说成功了 | 独立验证 |
| 我累了 | 疲惫 ≠ 借口 |
| 部分检查就够了 | 部分证明不了什么 |
| 用了不同措辞所以规则不适用 | 精神重于字面 |
关键模式
测试:
✅ [运行测试命令] [看到:34/34 通过] 所有测试通过
❌ 现在应该能通过 / 看起来正确
回归测试(TDD 红绿):
✅ 编写 → 运行(通过)→ 撤销修复 → 运行(必须失败)→ 恢复 → 运行(通过)
❌ 我已经编写了回归测试(未经红绿验证)
构建:
✅ [运行构建] [看到:退出码 0] 构建通过
❌ 代码检查通过了(代码检查不检查编译)
需求:
✅ 重新阅读计划 → 创建检查清单 → 逐项验证 → 报告差距或完成
❌ 测试通过,阶段完成
智能体委派:
✅ 智能体报告成功 → 检查 VCS 差异 → 验证变更 → 报告实际状态
❌ 信任智能体报告
为何重要
来自 24 次失败记忆:
- - 你的人类搭档说我不相信你——信任破裂
- 未定义的函数被发布——会导致崩溃
- 缺失的需求被发布——功能不完整
- 时间浪费在虚假完成上 → 重定向 → 返工
- 违反:诚实是核心价值观。如果你说谎,你将被替换。
何时应用
始终在以下情况之前:
- - 任何形式的成功/完成声称
- 任何形式的满意表达
- 任何关于工作状态的正面陈述
- 提交、创建 PR、任务完成
- 进入下一个任务
- 委派给智能体
规则适用于:
- - 精确措辞
- 转述和同义词
- 暗示成功
- 任何暗示完成/正确的沟通
底线
验证没有捷径。
运行命令。读取输出。然后声称结果。
这是不可商量的。