用途:在维护者请求相关 issue 分析时,找出某个 NemoClaw PR 除其关联 issue 之外可能影响的其他开放 issue,并报告两类关系:相邻修复(该 PR 也能解决另一个 issue)与冲突(该 PR 会阻止另一个 issue 所要求的行为)。
前提:gh CLI 已认证;目标仓库有开放 issue;存在待扫描的开放 PR。默认使用 NemoClaw 约定,其他仓库需编辑 repo-policy.md。
工作流:
- 提取指纹:scripts/extract-fingerprint.sh <pr-number>,收集变更文件、变更符号、错误字符串与关联 issue,详见 checks/fingerprint-extraction.md。
- 搜索候选 issue:scripts/search-candidate-issues.sh <fingerprint-json>,按符号(每符号按最近取前 10)、文件路径(每路径前 5)、错误字符串(每串前 5)搜索,去重并移除关联 issue,候选不超过 30 个。
- 分类:按 checks/relationship-judgment.md 规则分为 ADJACENT_FIX、CONTRADICTING、SAME_ISSUE_DIFF(与 PR 主 issue 同根因,去重过滤)、UNRELATED。对前两类需引用 PR diff 行、issue 症状与置信度(high/medium/low);无证据则归为 UNRELATED。
- 反向链接加成:若 issue 正文或评论提到该 PR 编号,置信度提升一级。
- 过滤:移除 UNRELATED 与 SAME_ISSUE_DIFF,移除低置信度,保留高与中置信度的 ADJACENT_FIX 和 CONTRADICTING。
- 渲染报告:scripts/render-report.py < classifications.json,格式见 templates/report.md。
参考文件:repo-policy.md、relationship-rules.md、checks/fingerprint-extraction.md、checks/relationship-judgment.md、templates/report.md、validation/backtest.md。脚本:extract-fingerprint.sh、search-candidate-issues.sh、render-report.py。
组合使用:本技能是 nemoclaw-maintainer-pr-comparator 的可选后续步骤;比较器不会运行本技能,也不将其发现计入评分。维护者要求相关 issue 证据时单独运行并单独报告。
限制:不针对对抗性输入运行 PR 代码;不用 CodeQL 或 Semgrep 等静态分析器追踪数据流;不用机器学习模型跨代码库消歧符号。