Debug Audit On Second Miss

Bug 修复 / 排查场景,连续 2 次假设或 patch 没命中根因时强制停手出 audit。Use when 同一 bug 已经试过 ≥2 次修复、症状仍在或换了形态再现、即将动「第 3 刀」时;触发关键词:「还是有这个问题」「又出现了」「同样的报错」「再试一次」「这次应该」。不适用于一次就 reproduce + 一次修好的场景。 Use when this capability is needed.

tomevault-io Updated

File contents

Debug Audit on Second Miss

When to Use

  • 同一 bug / 症状,已经动过 ≥2 次修复(patch / 配置改 / 逻辑改),症状仍在或换了形态再现
  • 即将下「第 3 刀」之前
  • 用户出现「还是 / 又 / 还是不行 / 同样的报错 / 这次应该」等信号
  • 自己心里冒出「再试一次说不定就中了」「应该是 X」但没有新证据时

不适用:第一次 reproduce + 一次修好;不同 bug 的连续修复;用户明确说「先继续打补丁,等下再回头看」。

强制动作

第 2 次 patch 没命中那一刻立即停手,不要起第 3 个修改。改为输出 audit:

## Bug Audit
- 症状(当前观察到的、可重现的):
- 已试假设 1 → patch → 结果(哪里没命中):
- 已试假设 2 → patch → 结果:
- 已排除的方向(基于上面两次结果可以确定不是的):
- 当前怀疑面(≤3 个,按可能性排序):
- 下一步建议(每个怀疑面对应的诊断动作,不是修复动作):

发完 audit 等用户拍方向,再动第 3 刀。诊断动作(加日志 / 打断点 / 复现脚本 / 读源码)≠ 修复动作(改代码)。

触发器自检

每次准备改代码修 bug 前问自己:

  • 这是同一个 bug 的第几次尝试?
  • 上一次假设错在哪?我有新证据,还是又在猜?
  • 如果只剩下 1 次 patch 机会,我会下这刀吗?

第 1、2 个问题答不上来 → 已经在猜 → 走 audit。

Gotchas

  • audit 不是「装作严肃」的形式——空着「已排除方向」直接列「当前怀疑面」是无效 audit。每次失败必须回填「这次排除了什么」,否则下次又在同一片区猜
  • 「换个角度试试」「这次应该」「我感觉是 X」全是猜的语言信号,出现就停
  • 用户主动喊停(「我们一直在猜的样子」「先停一下」)= audit 触发器已迟到一步,立即出 audit 不要再辩
  • 别把 audit 写成「我做了什么」流水账。要写「假设 → 验证结果 → 排除/保留」

Source: KarryViber/Orb — distributed by TomeVault.

tomevault-io/skills-registry/tree/main/karryviber--orb--orb commit 1bd2e12d88

Frequently asked questions

npx skillmds@latest add tomevault-io/debug-audit-on-second-miss