用途
GitNexus Impact Analysis 用于在修改代码前判断改动的“爆炸半径”(blast radius)。它回答的问题包括:修改这个函数是否安全、修改 X 会破坏什么、这段代码谁在用,以及当前的代码变更会影响哪些部分。它特别适合在做出非平凡代码改动之前,或提交代码之前使用,以便先理解改动的影响范围。
主要能力
该技能围绕两个核心工具组织:
- gitnexus_impact:符号爆炸半径分析的主工具,用于查找某个目标符号的上游依赖。可指定 target、direction、minConfidence、maxDepth 等参数。输出会按深度分层,例如 d=1(WILL BREAK,直接调用方/导入方)、d=2(LIKELY AFFECTED,间接依赖),并标注关系类型与置信度。
- gitnexus_detect_changes:基于 git diff 的影响分析,可按 scope(如 staged)查看当前变更映射到的受影响流程,并给出风险等级。
此外,还可以读取 gitnexus://repo/{name}/processes,检查受影响的执行流程。
使用方式
典型工作流为:
- 用 gitnexus_impact({target: "X", direction: "upstream"}) 查找依赖该目标的代码。
- READ gitnexus://repo/{name}/processes 检查受影响的执行流程。
- 用 gitnexus_detect_changes() 将当前 git 变更映射到受影响流程。
- 评估风险并报告给用户。
如果提示“Index is stale”,需在终端运行 npx gitnexus analyze。
使用检查清单包括:用 gitnexus_impact 查找依赖方;优先查看 d=1 的项(这些会直接损坏);检查高置信度(>0.8)依赖;读取 processes 检查受影响流程;用 gitnexus_detect_changes 做提交前检查;最后评估风险等级并报告。
适用场景
- 判断修改某函数是否安全。
- 了解改动会破坏哪些代码。
- 查询某段代码的使用者。
- 在非平凡改动前、提交前评估影响。
限制
该技能依赖索引,若索引过期需重新分析。风险等级与深度含义(d=1 直接破坏、d=2 可能受影响、d=3 可能需要测试)用于辅助判断,具体结果取决于依赖置信度与涉及流程数量。其余未在资料中说明的实现细节暂未提供。