SKILL.md
3.7 KB
name: review-blocker-verification description: | 代码评审与回归复核的阻塞点判定标准与执行流程:如何在最小干预下确认“本次修订是否消除先前阻塞点”。 version: 1.0.0 platforms: [linux, macos, windows] metadata: hermes:
tags: [review, regression, qa, quality, blockers]
Review Blocker Verification
适用场景
本技能用于 Reviewer-2 / 第二意见式验收场景,核心目标是回答:
- 本次修订是否清除先前约定的阻塞点?
- 是否还有剩余阻塞项?
- 阻塞是否已修复到可交付边界。
不应被用于泛化 bug 修复设计,偏重于“验证闭环 + 证据化结论”。
总原则
- 只给结论,不先验判断:先执行最小证据链,再下结论。
- 阻塞分级判断:
- 清除:影响链路的核心失败点已修复并可复现通过。
- 部分清除:部分路径改善,但仍有高置信失败路径。
- 未清除:关键阻塞仍存在或出现新阻塞。
- 证据优先:不接受“看起来没问题”;必须有可复现命令输出。
- 结构化回执:报告中保留
变更范围 / 验证命令 / 输出 / 结论 / 下步四区块。
复核工作流
1) 差异核查
git status --short(确认当前工作树状态)git diff --name-only(确认覆盖文件)- 必要时读关键改动文件(入口文件、导出/接口文件、测试文件)。
2) 阻塞复现与回归验证
按优先级执行:
- 先执行高风险最小集(通常为失败入口 + API 面)
- 再执行广义回归集合
- 如存在环境限制,改用可用解释器/命令替代(如偏好
python3 -m unittest)。
典型顺序示例:
- 模块级测试:
test_models、test_sanitizer、test_package_import - 行为测试:
test_app、test_readers - 端到端测试:
unittest discover -s ...
3) 模块路径隔离
若出现模块导入失败:
- 使用清晰的路径注入(如
PYTHONPATH=source)避免把环境 import 误判成实现阻塞。 - 仅在路径与依赖问题被明确隔离后再评估业务阻塞。
4) 强制检查点(Reviewer-2 常见)
- 包级导出一致性(
__all__/ 顶层 API) - 关键公开函数是否可导入且可调用
- 错误返回/容错路径是否如预期(如缺少配置、超时、404/403)
经验规则:大量单测通过但
test_package_import失败时,仍按“阻塞未清除”处理。
5) 结论输出模板
## 结论
- 清除状态:已清除 / 部分清除 / 未清除
## 证据
- 变更文件:...
- 关键失败/通过项:...
- 命令输出:...
## 未清除阻塞(如有)
- 阻塞点:...
- 影响:...
- 建议修复:...
## 下步
- 如继续:...
常见阻塞与判定示例
- 阻塞消除:先前缺失模块成功导入;测试入口与全量测试通过。
- 阻塞未消除:核心导出测试失败(如顶层
__all__缺 API)、阻塞路径仍有FAILED。 - 环境阻塞:
pytest not found、python not found等,仅作为执行环境说明,优先切换可用命令继续验证。
Pitfalls(避免踩坑)
- 只看子集测试通过即宣告完成。
- 忽略 package import contract(最常见“看似全过但接口断裂”)。
- 把环境误报“工具坏了”,却未切换到可用命令继续验证。
- 结论中混入个人猜测,不给出命令级证据。
相关支持文件
references/blocker-review-checklist.md: 阻塞复核检查项清单(含最小失败归因树)references/command-fallback-notes.md: 常见命令不可用时的切换策略与风险标注templates/reviewer-2-template.md: reviewer-2 结构化回执模板