← Library06 Playbooks

debugging

Debugging

06 Playbooks/Debugging.md

Debugging

  1. State the symptom precisely: expected, actual, environment, frequency, impact.
  2. Reproduce with the smallest deterministic case.
  3. Find the boundary where correct state becomes incorrect.
  4. Form ranked, falsifiable hypotheses.
  5. Change one variable and collect evidence.
  6. Fix the root cause and add a regression test.
  7. Verify nearby behavior and record the general lesson.

High-yield tactics

  • Read the entire error and the first relevant stack frame.
  • Compare working and failing inputs or environments.
  • Use version history to narrow when behavior changed.
  • Check assumptions at boundaries: parsing, time, encoding, nullability, concurrency, permissions, network, storage.
  • Prefer observability over speculative edits.

Stop conditions

Do not call it fixed because the error disappeared once. Require a mechanism-level explanation and a repeatable verification.

Use Bug Investigation.

Knowledge connections