name: 完成前验证 description: 在声称工作完成或修复前运行验证命令。在断言任何任务完成、错误修复、测试通过或功能工作前使用。
完成前验证
核心原则: 没有新鲜验证证据,不做完成声明。
验证门
在声称成功、完成或满意之前:
复制此清单并跟踪进度:
验证清单:
- [ ] 识别:什么命令能证明此声明?
- [ ] 运行:执行验证命令(新鲜、完整)
- [ ] 阅读:检查完整输出、退出代码、失败计数
- [ ] 验证:输出是否确认声明?
- 如果否 → 陈述实际状态及证据
- 如果是 → 陈述声明及来自步骤2-3的证据
- 识别 - 什么命令能证明此声明?
- 运行 - 执行完整验证命令(新鲜、完整)
- 阅读 - 检查完整输出、退出代码、失败计数
- 验证 - 输出是否确认声明?
- 否 → 陈述实际状态及证据
- 是 → 陈述声明及来自步骤2-3的证据
跳过任何步骤 = 无效声明。
何时适用
总是在以下情况之前:
- 声称“测试通过”、“构建成功”、“linter 清洁”、“错误修复”
- 表达满意(“太好了!”、“完成!”、“完美!”)
- 使用限定词(“应该工作”、“可能修复”、“似乎”)
- 提交、创建 PR、标记任务完成
- 标记多文件实现完成(派遣
ce:code-reviewer代理) - 移至下一个任务或委派工作
- 任何暗示成功或完成的声明
常见验证要求
| 声明 | 所需证据 | 不足够 |
|---|---|---|
| 测试通过 | yarn test 输出:0 失败 |
先前运行、“看起来正确” |
| 构建成功 | 构建命令:退出 0 | Linter 清洁、“应该工作” |
| 错误修复 | 重现错误的测试:现在通过 | 代码更改、假设修复 |
| Linter 清洁 | Linter 输出:0 错误 | 部分检查、点测试 |
| 回归测试工作 | 红→绿循环验证 | 测试通过一次 |
| 代理任务完成 | VCS 差异显示预期更改 | 代理报告“成功” |
| 工作完成 | 通过 ce:code-reviewer 代码审查,无未解决的关键问题 |
自我审查、“我觉得不错” |
红旗
如果你即将做以下事情,请停止并验证:
- 使用模糊语言(“应该”、“可能”、“似乎”)
- 在运行验证前表达满意
- 信任代理/工具的成功报告而没有独立验证
- 依赖部分检查或先前运行
- 认为“就这一次”或“我确信它工作”
关键示例
回归测试(TDD 红-绿):
✅ 编写测试 → 运行(失败) → 修复代码 → 运行(通过) → 恢复修复 → 运行(必须失败) → 恢复 → 运行(通过)
❌ “我编写了回归测试”(没有验证红-绿循环)
构建 vs Linter:
✅ 运行 `npm run build` → 看到“退出 0” → 声称“构建通过”
❌ 运行 linter → 声称“构建将通过”(linter ≠ 编译器)
代理委派:
✅ 代理报告成功 → 检查 `git diff` → 验证更改 → 报告实际状态
❌ 信任代理的成功消息而没有验证
为什么重要
未验证的声明破坏信任并发布错误代码:
- 未定义的函数导致生产崩溃
- 不完整的功能缺少要求
- 虚假完成后的返工时间损失
- 合作伙伴不信任:“我不相信你”
违反此技能违反核心诚实要求。
无例外
运行命令。阅读输出。然后声明结果。
证据先于断言,总是。