cy-final-verify 用于约束智能体在声明完成前必须先完成验证。其核心原则是“证据先于声明”:如果验证命令没有在当前消息中运行,就不能声称有结果。
用途与适用时机:在作出任何成功或完成声明、表达对实现状态的满意、提交 commit 或创建 PR、以正确性为前提的交接,以及基于完成状态转向下一任务之前,都应先应用本规则。
主要能力:提供“门函数”流程——识别可证明声明的命令、完整执行该命令、读取完整输出并检查退出码和失败数、确认输出是否支持声明,最后才作出声明。声明范围须与验证范围匹配:窄声明(如“这个测试通过”)可只运行对应测试;宽声明(如“任务完成”“可以提交”)必须运行完整流水线,包括格式化、lint、全部测试和构建;若项目定义了统一的 gate 命令(如 make verify),则运行该命令。命令与模板中的示例保持原样。
提交与 PR 前的门禁:commit 和 PR 是永久产物,需要最高验证标准。提交前须运行完整验证流水线,确认零错误、零警告、零测试失败,并产出判定为 PASS 的验证报告;创建 PR 前还需检查 diff 是否与预期改动一致、确认没有暂存无关文件。
报告模板要求:每项验证都按 VERIFICATION REPORT 结构报告,包含 Claim、Command、Executed、Exit code、Output summary、Warnings、Errors、Verdict。若 Verdict 为 FAIL,不得使用完成性语言。
验证失败时:读取失败信息并引用相关输出行、诊断根因、做最小修复、从头重新验证,再用证据报告;不得宣称部分成功、跳过重新验证、无证据地归咎工具,或在验证仍失败时转向下一任务。
限制与红旗:不得使用“应该”“可能”等措辞,不得在验证前表达满意,不得信任其他智能体的成功报告,不得依赖部分验证。若不清楚正确的验证命令,应在作出任何完成声明前先确认;若只能部分验证,须明确说明该限制并避免完成性语言。其他收费、平台等细节暂未提供。