gm-validate 是一个面向 PRD 逐行验证的技能,属于 gm 工作流中的验证环节。它由编排器在 executor 完成编辑并交接后派生,专门负责对推送后的修改进行实时检查与见证。
用途 该技能针对某一行 PRD(输入 row=<id> 与 session=<SESSION_ID>),验证 executor 交付的编辑是否满足该行的验收条款。它不负责修复或编辑代码,只负责验证与记录。
主要能力
- 在运行任何检查前,为每条验收条款写下一个预期值。
- 逐项实时运行检查,记录每次检查的 dispatch id 与观测值。
- 观测值与预期值匹配即判定该项通过。
- 出现失败或新的未知项时,记录问题并返回 STATUS: fix <check id> 给编排器,由编排器派生新的 executor 处理。
- 全部通过时,记录验证回执并返回 STATUS: verified <witness dispatch id>。
- 输出验证结果到 .gm/receipts/<row>/05-validate.md。
使用方式 该技能由编排器派生,不以 inline 方式被 executor 加载。它在自己的会话(<parent>-v<k>)中运行,作为该行的见证者;executor 的会话不能见证自己的编辑。调用时传入 row 与 session 参数。本技能不加载 gm-publish,也不读取 CI;CI 通道由编排器针对同一 sha 另行派生。
适用场景 适用于 gm 工作流中需要独立见证 PRD 行级修改的验证阶段,尤其是在 executor 完成推送后,需要以实时运行结果作为证据确认验收条款是否满足的场合。
限制
- 本通道自身不执行 ELIMINATE 或 EDIT。
- 不读取 CI,CI 验证由编排器另行处理。
- 遇到阻塞(检查失败、工具或服务故障、输入缺失、网络或环境故障)时,应在同一次运行中尝试有限次或可恢复的重试、改用替代路径、修复故障源头后继续;只有全部路径尝试完毕仍阻塞时才停止,并报告阻塞步骤、尝试过的路径及各自证据。