systematic-debugging
Systematic Debugging
Find and fix bugs by following a strict process: no fixes without root cause first.
Why this matters: Random fixes feel faster but often introduce new bugs and leave the original cause in place. A few minutes of real investigation—reproduce, trace, hypothesize—usually leads to one right fix instead of a long chain of patches. It works the same whether you’re in a Node app, a Python script, or a distributed system: understand, then change.
Core Principle
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Symptom fixes waste time and introduce new bugs. If you have not completed Phase 1, you may not propose fixes.
When to Activate
- User reports a bug, error, or "it doesn't work"
- Test failures, build failures, or integration issues
- Unexpected behavior or performance problems
- User asks to "debug", "find the bug", or "why does X happen"
Use especially when: Under time pressure, "one quick fix" seems obvious, you've already tried multiple fixes, or you don't fully understand the issue. Do not skip for "simple" bugs — simple bugs have root causes too.