Use when something is broken and the cause isn't obvious — failing tests, unexpected output, intermittent/flaky behavior, a crash, "it worked yesterday", or a fix that didn't hold. Enforces a four-phase root-cause process instead of guess-and-patch. Triggers: "why is this failing", "debug", "this isn't working", "flaky", "intermittent", "regression", a stack trace, an error message. Use the moment you catch yourself about to change code you don't understand.