用途:识别并(可选)修复一种失效模式——新测试文件重新实现它声称要测试的函数,再对自己这份私有副本断言,于是测试通过、CI 变绿,但零回归保护。
主要能力:第一阶段静态检查,要求每个测试文件导入被测模块(SUT)、无被遮蔽的导出;仅当第一阶段通过才运行第二阶段变异检查,即破坏生产代码后测试必须失败,否则判定为 test-survives-sabotage;第三阶段自愈(仅在 --fix 时)把内联逻辑原样抽取、改写测试导入并重新验证,断言保持不变。自愈前默认要求 confidence(code) ≥ 90%,低于门槛则记为 heal-skipped-low-confidence。
使用方式:支持参数 --diff(经 git diff --name-only <base>...HEAD 发现变更的测试文件,--base 默认 main)、位置路径(显式指定测试文件,覆盖 --diff)、--mode static|mutate|both(默认 both)、--fix(自主工作流中默认开启,斜杠调用默认关闭)、--report-only、--no-confidence-gate。无测试文件落入范围时以 0 退出。每次运行输出结构化报告(文件数、发现、动作、置信度、自愈摘要、退出码);由自主工作流 Phase 4 调用时追加一行进度日志。
适用场景:CI 或自主工作流中审计测试有效性、发现私有副本式伪测试,并在高置信度下自动抽取逻辑修正导入。
限制:变异检查仅在静态检查通过后运行;无 SUT 的 no-sut-import 只记录不修复;不支持语言的测试文件跳过并附一行说明;修复属于重构而非重写,不得静默修改断言;sabotage 步骤需配套还原。语言支持范围、依赖前置等细节暂未提供。