Verification 是一套面向任务完成前验证环节的方法论,源自 obra/superpowers(MIT),核心目标是强制在宣称任务完成之前提供基于证据的验证,避免无根据的“完成”声明。
一、铁律与验证门 其铁律是:没有新证据就没有声明。在说出“完成”“可用”“已修复”或“已验证”之前,必须依次执行以下步骤:
- 运行相关命令(测试、构建、lint、curl 等)。
- 读取完整输出,而不仅是退出码。
- 确认输出与预期结果一致。
- 只有完成以上步骤后才能声明完成。 如果无法运行验证命令,必须明确说明这一点,绝不能假设通过。
二、什么算作验证 资料提供了一张“主张—最低证据”对照:
- 主张“测试通过”:需粘贴或引用测试运行器显示绿色的输出。
- 主张“构建成功”:需展示构建命令输出且零错误。
- 主张“缺陷已修复”:需展示复现用例现在产生正确输出。
- 主张“文件已更新”:需回读该文件并确认内容符合预期。
- 主张“服务运行中”:需访问健康端点并展示响应。
三、工作流
- 完成你的改动。
- 确定你即将做出的声明(主张)。
- 针对每个主张,运行匹配的验证步骤。
- 如果任何步骤失败,修复并重新验证,不要跳过。
- 附上证据(命令+输出)报告结果。
四、应避免的反模式
- 未运行任何内容就说“应该可用”。
- 运行了命令却不读取其输出。
- 验证的是 A,声称的却是 B。
- 当输出包含警告或部分失败时,仍把干净的退出码当作成功证据。
- 在做出进一步改动后,复用此前运行的过期证据。
五、适用场景与限制 该方法论适用于任何需要对完成状态做出可验证声明的任务场景,尤其是测试、构建、缺陷修复、文件更新和服务运行状态确认。其限制与更多实现细节、平台要求、安装方式等信息,资料中暂未提供。