Never Twice 是一个技能(skill),用于在刚纠正过代理、或同一类故障已修复两次、或某次改动删除了规则、守卫或检查时使用。其核心主张是:通过更好的架构或更合适的数据结构,从类别上消除问题,使该故障类别无法再次发生,这优于逐个修复实例。
它提供一套“阶梯”式响应:第 1 级是更好的架构或数据结构,使故障无法复发,这是目标;第 2 级是 CI 中的 lint 规则或测试,故障仍会复发但无法合入,可接受;第 3 级是技能或书面规则,故障复发但下一个代理会知道,属退路;第 4 级是人工警觉,尽量避免。偏好沿阶梯指数级衰减,第 3、4 级落地属于债务,当更高层级可达时应向上转换。
是否值得设置守卫由四个问题逐场景判断:故障能否复现、原因是否被具体理解、正常操作产生触发条件的频率、守卫的成本与位置。代理的纠正通常自带答案:默认行为即具体原因,每次提示都会触发。可复现不等于能在本地复现,若原因明确、只在 CI 出现且真实运行中反复发生,同样按已知原因、高频触发处理。约束包括:没有复现就不构建夹具,守卫应放在条件所在之处;原因未知且未复现的事件只记录、不设守卫;记录写入 PR 正文、报告或 issue,而非规则中。
工作流程为:用一句话命名故障类别;找到允许新成员进入的基底;在任务范围内尽量爬向第 1 级;交付并测试“若明天出现该类新成员,修复是否仍成立”。删除守卫时遵循 Chesterton's Fence:删除规则、守卫或检查必须能说明其设立原因,并映射到覆盖其类别的后继方案,或记录在改动中的有意取舍。
该技能还可扩展代码审查技能的评审标准,要求标记重复修复同类故障、未映射的删除、判断依据不足的守卫,以及本应设守卫却只修实例的情况。资料未提供安装命令、收费、平台或效果信息。