ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Cross-issue scan — PR <pr> (<pr-title>)

Cross-issue scan — PR <pr> (<pr-title>) Cross-issue scan — PR # ( )【免费下载链接】NemoClawRun agents like Hermes, LangChain Deep Agents, and OpenClaw more securely inside NVIDIA OpenShell with managed inference项目地址: https://gitcode.com/gh_mirrors/ne/NemoClawAdjacent fixes (PR may also close)#4521(high) — empty-array check invalidateInput()matches the symptom at issue body line 12. Suggested action: Addcloses #4521to the PR body.#4889(medium) — same validation path. It matches the issue reproduction at line 7.Contradicting (coordinate before merge)#4187(medium) — PR rejects empty input. Issue #4187 requests opt-in allowance at body line 8. Suggested action: Discuss the approach with the author of #4187. Close #4187 only if the maintainer selects the PR behavior.Suppressed7 unrelated candidates (filtered)2 same-issue duplicates of primary #N (filtered)Reasoning trace (top 3 by impact)#4521 (high):src/lib/validate.ts:42addsif (input.length 0) return null. Issue body line 12 reports thatvalidateInputthrows for an empty array. Issue comment 4 mentions PR #2851, so confidence increased from medium to high.#4889 (medium):src/lib/validate.ts:50rejects an empty value in a shared helper. The issue reproduction reaches that path. Comments indicate that #4889 can duplicate #4521.#4187 (medium): The rejection at line 42 conflicts with the opt-in request at issue body line 8.若没有任何候选项达到置信度阈值则使用简化报告 markdown ## Cross-issue scan — PR #pr No adjacent fixes or contradictions found above the medium confidence floor. Suppressed: N unrelated, M same-issue duplicates.报告标题Cross-issue scan — PR #pr (pr-title)明确了扫描对象PR 编号与标题每个小节标题同时用英文括号标注了动作语义PR may also close/coordinate before merge保证输出可直接被维护者与自动化工具解析。报告背后的六步工作流报告不是凭空生成的它对应 SKILL.md 中定义的六步流水线。理解这条流水线才能正确解读报告中的每一行证据。前提条件ghCLI 已认证脚本依赖 GitHub CLI目标仓库存在开放 Issue有一个待扫描的开放 PR。Step 1提取指纹Fingerprintscripts/extract-fingerprint.sh pr-numberscripts/extract-fingerprint.sh 从 PR 中采集四个维度触及文件touched files来自gh pr view pr --json files会剔除测试夹具、生成文件与锁文件package-lock.json、yarn.lock、pnpm-lock.yaml触及符号touched symbols仅从新增/修改行以开头且非的行中用各语言正则提取函数、类、导出名、常量与 shell 函数定义并过滤掉if、for、do等短名与语言关键字错误字符串error-string tokens提取throw new Error(...)、throw Error(...)、console.error(...)、Pythonprint(f...)中的错误形态文本以及--no-color这类高辨识度的旗标名同时过滤掉占位符%s、${var}、{0}主关联 Issueprimary linked issue从 PR 描述中解析closes #N/fixes #N/resolves #N/Linked Issue: #N该 Issue 将在后续搜索中被排除。输出为 JSON例如{ pr: 2851, files: [src/lib/sandbox/mutable-config-perms.ts, Dockerfile.base], symbols: [normalize_mutable_config_perms, repairMutableConfigPerms], error_strings: [EACCES on .openclaw], primary_issue: 2681 }指纹的细节规范见 checks/fingerprint-extraction.md。Step 2搜索候选 Issuescripts/search-candidate-issues.sh fingerprint-jsonscripts/search-candidate-issues.sh 沿三个搜索维度调用gh search issues每个符号按最近更新取前 10每个文件路径按最近更新取前 5每个错误字符串按最近更新取前 5。随后去重、排除主关联 Issue并将总候选数限制在 30 以内MAX_TOTAL30以控制后续模型判定的调用成本。脚本输出格式为{candidates: [{number, title, body_excerpt, updated_at}, ...]}其中 body 截断为 2000 字符保证传给 LLM 的上下文足够精简。Step 3分类每个候选分类规则定义在 checks/relationship-judgment.md共有四类详见 relationship-rules.mdADJACENT_FIX— PR 可以解决该 IssueCONTRADICTING— PR 与 Issue 请求的行为冲突SAME_ISSUE_DIFF— 与 PR 主 Issue 属于同一根因去重过滤用UNRELATED— 无有意义的关联。对于 ADJACENT_FIX 或 CONTRADICTING必须引用三类证据之一Direct直接证据PR diff 的具体行 该行影响的 Issue 症状By omission遗漏证据PR 修复的 bug 类别 Issue 中该 bug 未被修复的实例Follow-on后续证据PR 变更的符号/文件 Issue 针对该符号/文件的请求。拿不到任何一类证据的候选一律判为 UNRELATED。这一规则从机制上杜绝了仅因共享代码区域就强行匹配的误报。Step 4反向链接增强Reverse-link boost若 Issue 正文或评论中提到了 PR 编号置信度提升一级low → mediummedium → highhigh → high封顶报告模板Reasoning trace中的示例正是这一机制的体现Issue comment 4 mentions PR #2851, so confidence increased from medium to high。Step 5过滤移除 UNRELATED 与 SAME_ISSUE_DIFF移除低置信度结果仅保留高/中置信度的 ADJACENT_FIX 与 CONTRADICTING。置信度下限confidence_floor: medium由 repo-policy.md 配置可下调为low以包含全部候选或上调为high只保留高置信度结果。Step 6渲染报告scripts/render-report.py classifications.json这正是产出 templates/report.md 所示结构的最后一步详见下文实现解析。四类关系判定规则详解relationship-rules.md 为每类关系给出了带完整证据链的示例是维护者解读报告时判断这条证据是否可信的参照系。ADJACENT_FIX顺带修复示例 A直接证据PR 描述为修复沙箱用户写配置时的 EACCESdiff 在.openclaw目录启动时添加chmod gw候选 Issue #2810 报告Telegram preset 在沙箱重建后间歇性写入失败Issue 正文引用EPERM on .openclaw/credentials/telegram.json。判定为高置信度 ADJACENT_FIX直接证据是 PR 在Dockerfile.base:97修改权限、Issue 第 14 行报告同一目录的EPERM错误。示例 BPR 引入代码上的后续加固PR #2696 引入scripts/rcf_patch.py候选 Issue #2875 请求加固该脚本以应对属性顺序漂移且 Issue 明确提到 PR #2696。此类带反向链接增强判定为高置信度。CONTRADICTING合并前需协调示例 A直接冲突PR 删除mutateConfigFile外层的 try/catch不再吞掉 EACCES候选 Issue #4187 请求允许在关闭期间选择性地抑制沙箱配置写入错误。PR 的行为直接与 Issue 的期望相反判定为中置信度并给出协调建议。示例 B修复不完整遗漏证据PR #2700 将scripts/nemoclaw-start.sh中 5 个环境变量校验从return 1改为return 0但候选 Issue #2762 指出NEMOCLAW_CONTEXT_WINDOW与NEMOCLAW_MAX_TOKENS的非法值仍会导致容器以码 1 退出。这是修复了同类 bug 的一部分实例、遗漏了另一部分的典型形态判定为高置信度带反向链接增强。SAME_ISSUE_DIFF同根因去重PR 主 Issue #2681Enable Dreaming permission error与候选 Issue #2895OpenClaw UI 中开关失败并报 EACCES描述的是同一个开关上的同一种 EACCES 失败。这类结果不进入报告输出仅用于防止重复。UNRELATED无关PR 描述为抽取 sandbox-gateway-state 辅助函数候选 Issue #4523 报告沙箱网关首次连接超时。搜索仅因gateway一词命中但 PR 不改变行为、Issue 是时序问题判定为 UNRELATED。渲染器实现解析报告如何被机械地生成scripts/render-report.py 是模板的忠实实现理解它有助于把握报告字段的精确语义。输入规格脚本从 stdin 读取 JSON核心字段如下{ pr: 2851, pr_title: ..., classifications: [ { issue_number: 4521, issue_title: ..., class: ADJACENT_FIX, confidence: high, reverse_link_boosted: true, evidence: { pr_diff_line: src/lib/validate.ts:42, issue_symptom: issue body line 12, reasoning: ... } } ], primary_issue: 2681, suppressed: {unrelated: 7, same_issue_diff: 2} }注意evidence中的pr_diff_linePR diff 行定位与issue_symptomIssue 症状定位一一对应这正是证据要求落到代码/文本坐标上的体现。输出逻辑脚本的核心行为可从 scripts/render-report.py 的主流程确认校验pr字段必填否则以退出码 64 报错classifications与suppressed必须是列表/对象分流将合法分类按class拆分为 adjacent 与 contradicting 两组各自按置信度low0, medium1, high2降序排序空结果分支两组都为空时输出No adjacent fixes or contradictions found above the medium confidence floor.加抑制统计直接返回 0有结果分支依次输出### Adjacent fixes (PR may also close)、### Contradicting (coordinate before merge)、### Suppressed三个小节单条渲染每条输出为- **#编号** (置信度[ [boosted from reverse-link] ]) — diff行 matches 症状第二行以→前缀给出推理说明见 render-report.py 的_format_entry。注意脚本本身不渲染### Reasoning trace小节——该小节由分类阶段LLM 判定按影响度排序产生属于更高层的证据追溯信息模板保留了它的位置以便人工核验。渲染器只负责把已分类结果稳定地落到模板上。端到端用法# 1. 提取指纹 scripts/extract-fingerprint.sh 2851 fingerprint.json # 2. 搜索候选 scripts/search-candidate-issues.sh fingerprint.json candidates.json # 3. 模型判定后渲染报告 scripts/render-report.py classifications.json report.md【免费下载链接】NemoClawRun agents like Hermes, LangChain Deep Agents, and OpenClaw more securely inside NVIDIA OpenShell with managed inference项目地址: https://gitcode.com/gh_mirrors/ne/NemoClaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表