SuperAPI AI 工具集

blast-radius

测试与质量

查看项目

更新于 10-15 17:20

技能介绍

blast-radius 用于分析当前代码改动的潜在影响,基于代码知识图谱给出风险评分和受影响节点清单,适用场景是合并前评估一次变更波及的范围以及哪些部分缺少测试覆盖。

前置条件:该技能需要 gauntlet 插件提供图谱数据。可通过 find ~/.claude/plugins -name "graph_query.py" -path "/gauntlet/" 查找;若未安装 gauntlet,则退回到用 git diff 与 grep 手工追踪导入和调用点,跳过图谱步骤直接进入手动的第 3 步;若已安装 gauntlet 但不存在 graph.db,需提示先运行 /gauntlet-graph build。

主要流程:先运行 git diff --stat 展示改动文件;再做影响分析(需 gauntlet):python3 "$GRAPH_QUERY" --action impact --base-ref HEAD --depth 2。降级方案一(有 sem、无 gauntlet)用 sem impact --json <changed-file> 做跨文件依赖追踪;降级方案二(两者都无)用 rg 或 grep 追踪被改函数的调用者,命令示例中使用 git diff --name-only HEAD 逐文件取词干后搜索,Python 项目可加 --type py 或 --include="*.py" 减少误报。

结果按风险优先级以表格展示,列包括 Risk、Node、File、Anchor、Reason;Anchor 为引用行的原样源码文本,便于复核而无需重跑工具。随后高亮缺少测试覆盖的受影响函数(无 TESTED_BY 边),给出整体风险等级(低/中/高,取最大风险分),并给出建议:高风险节点建议先补测试,安全敏感节点建议仔细检查认证与授权逻辑,高扇入节点提示改动影响大量调用方、需验证向后兼容。

发现项会写入 .review/findings.json,并运行引用校验器校验,被拒绝的发现项应删除或标记为 UNVERIFIED。

风险评分模型由五个加权因素组成,总和上限为 1.0:测试缺口 0.30、安全性 0.20(认证/加密/SQL 关键词)、流程参与度 0.25、跨社区 0.15(被其他模块调用)、调用方数量 0.10(高扇入函数)。

不适用场景:阅读改动代码查缺陷应使用 pensive:bug-review;代码图谱缺失或过期应使用 gauntlet:graph-build。具体安装方式与更多配置细节暂未提供。