Systematic debugging — reproduce, bisect, prove the cause with a falsifiable hypothesis, fix minimally, re-verify against the original repro. Use for any bug, test failure, regression, crash, wrong output, or flaky behavior, before proposing a fix — including "it used to work", "sometimes fails", and whenever a first fix didn't work. Not for pure environment failures (command-not-found, import errors) — see environment-first.