用途:用于处理测试失败、生产环境 bug、异常行为、性能问题、构建失败、集成问题等技术问题,尤其适用于时间紧迫、看似只需小改、已多次尝试修复或未完全理解问题时。核心铁律是不做根因调查就不许提修复方案。
主要能力:分为四个阶段,需完成前一阶段才能进入下一阶段。第一阶段根因调查:仔细阅读错误信息、完整阅读堆栈跟踪、稳定复现、检查近期变更,在多组件系统中于各组件边界记录进入与离开的数据以定位断裂点,并沿调用栈反向追踪数据流至源头。第二阶段模式分析:找到正常示例、与参考实现对比、逐项列出差异、理解依赖关系。第三阶段假设与验证:提出单一明确假设、做最小改动、每次只改一个变量。第四阶段实施:先创建失败测试用例,再实施单一修复,最后验证。
使用方式:按阶段推进,配合目录中的辅助技术 root-cause-tracing.md、defense-in-depth.md、condition-based-waiting.md。第四阶段创建失败测试用例时可使用 superpowers:test-driven-development 技能,完成前可用 superpowers:verification-before-completion 验证。示例诊断命令包括 env | grep IDENTITY || echo "IDENTITY not in environment"、security list-keychains、codesign --sign "$IDENTITY" --verbose=4 "$APP" 等,用于分层收集证据。
适用场景:任何技术问题的排查过程,特别是多层系统、调用栈深处的错误,以及连续多次修复失败的情况。
限制与规则:不做根因调查不得提方案;不一次修多个问题;不跳过测试手动验证;不做捆绑重构或顺手优化。若修复三次以上仍失败,应停止并质疑架构,与搭档讨论后再决定是否继续。若排查后确认是环境、时序或外部因素,需记录排查内容并添加相应处理与监控。