"Use after executable project changes and before declaring completion. Prefer forge_verify when available, require current PASS evidence, and drive a bounded repair-and-reverify loop."
Install
npx skillscat add exception-coder/team-standards/delivery-verification Install via the SkillsCat registry.
真实交付验证门禁
核心规则
源码、构建配置、SQL、Migration、API 契约、测试或基础设施配置发生变化后,在最终回复前验证当前工作区。MCP 注册只表示工具可用;本 Skill 负责完成前调用和结果裁决。
存在可执行改动时,最近一次相关修改之后必须有针对当前工作区的验证证据。`forge_verify` 可用时必须以 `phase=all` 调用;只有结构化 `status=PASSED` 且必需 Checker、Verifier 确实出现在执行列表中,才可声明 Done。验证后再次修改会使旧证据失效。执行流程
将当前会话编辑记录与
git status --short求交集,确认本轮可执行改动;不接管会话开始前的用户改动,也不把纯文档改动当成 Runtime 触发条件。检查 Agent 工具列表;存在
forge_verify时调用:{"project":"当前项目绝对路径","phase":"all"}MCP 不可用时,使用项目
AGENTS.md明确声明的 Forge CLI;项目未声明 Forge 时执行项目原生构建、测试和专项验证,并明确说明降级证据。读取
status、staticStatus、runtimeStatus、issues、executedCheckers和executedVerifiers。未执行的检查器不得报告为通过。FAILED时按issues修复最小必要范围,然后重新验证。最多进行 3 轮自动修复;第三轮仍失败时停止,保留真实失败证据并向用户报告阻断。验证之后发生任何相关编辑,返回第 1 步。只有最新工作区的 PASS 可以放行。
OpenSpec 项目同时按 change-readiness 的 治理检查器协议 记录本切片的验证、设计视图和 Scenario 映射,再检查 delivery。完成当前任务不等于整个 change 可归档;记录命令不执行验证,不能用 record 代替前述真实检查。
按 文档同步规则 更新受影响文档并核对引用;若改变验证输入,重新验证。通过后进入 git-commit-standards 自动提交本次作业,报告提交号和未提交项。纯文档任务通过文档检查后也进入提交流程,不伪造 Runtime 验证。
环境与安全边界
.forge/verify.yml是项目 Runtime 场景和环境引用的事实来源;团队 Skill 不内置业务 URL、数据库或凭据。- 凭据只通过环境变量或项目既有 Secret 机制提供,不写入 transcript、报告或仓库。
- Runtime 环境不可用属于真实失败,不得改写成 PASS;应区分产品缺陷、环境故障和配置缺失。
- 不自动扩大权限、不启动未获授权的外部环境、不执行破坏性 SQL。
完成输出
最终回复至少说明:
- 使用了 MCP、Forge CLI 还是项目原生降级验证。
- Static 与 Runtime 的真实状态。
- 实际执行的 Checker 和 Verifier。
- 未执行项、环境缺口或残余失败。
红线
- 不把“编译通过”替代真实 Runtime 场景。
- 不因 MCP 已注册就声称验证已执行。
- 不在验证失败后跳过修复循环直接 Done。
- 不无限修复;达到轮次上限后必须停止并交付失败观察。
- 不接受发生在最后一次相关修改之前的验证证据。
状态契约闭环
状态相关改动按 状态契约治理协议 执行已登记模块的真实命令并检查新鲜证据。STATIC_PASS 不等于业务 PASS;核对测试实际依赖与构建产物,旧 JAR、缺失环境或过期图谱不得冒充当前验证。已接入项目由共享治理入口检查,未接入模块明确披露。