@
问题陈述
PR #138 流程暴露了一个治理漏洞:
- Security 审查发现 P1 问题(deny 缺
iex 别名)
- 代码修复后提交(
8a6d61d)
- Standards / Spec 审查结论仍是基于修复前的代码,但未被要求重审
build-review-fragment 校验 reviewed_head == current_head 放行
pr-submit 接受所有 fragment,PR 合并
根因:fragment builder 只验证 head 匹配,不验证审查结论本身是否基于当前代码。修复审查发现并提交新代码后,修复前的审查结论在代码变更后可能已过时。
建议方案
Builder 层面(P1)
在 build-review-fragment 中增加 post-fix 校验:
- 当同一分支的提交链中存在"审查→修复→写 fragment"模式时,修复提交之前的审查角色的 fragment 必须标记
post-fix-reverified: true 或提供 post-fix-reverify-fallback-reason
- 无标记且无 fallback 原因时,builder 输出
DISPATCH_REQUIRED,要求重审
SKILL 层面(P2)
在 repo-pr-governance SKILL 中增加流程步骤:P0/P1 发现修复后必须重新运行对应角色审查,才能写 fragment。
技术参考
- 复用
delegation_attempt 的 evidence / fallback reason 模式
- 利用 commit intent 链追踪修复提交与审查提交的时序关系
build-review-fragment 已有 head/diff 校验,只需新增审查结论的 freshness 校验
相关
- PR #138 — 本次流程的 PR
- Issue #120 — current-head 映射基础设施(已关闭)
- Issue #132 — stale fragment 接手体验优化(相关但不重复)
本 issue 由自动化流程创建,如有问题请联系维护者。
@
@
问题陈述
PR #138 流程暴露了一个治理漏洞:
iex别名)8a6d61d)build-review-fragment校验reviewed_head == current_head放行pr-submit接受所有 fragment,PR 合并根因:fragment builder 只验证 head 匹配,不验证审查结论本身是否基于当前代码。修复审查发现并提交新代码后,修复前的审查结论在代码变更后可能已过时。
建议方案
Builder 层面(P1)
在
build-review-fragment中增加 post-fix 校验:post-fix-reverified: true或提供post-fix-reverify-fallback-reasonDISPATCH_REQUIRED,要求重审SKILL 层面(P2)
在
repo-pr-governanceSKILL 中增加流程步骤:P0/P1 发现修复后必须重新运行对应角色审查,才能写 fragment。技术参考
delegation_attempt的 evidence / fallback reason 模式build-review-fragment已有 head/diff 校验,只需新增审查结论的 freshness 校验相关