Debugging Checklist
Diagnose before changing code. A request to investigate does not by itself authorize a fix.
Workflow
- Record expected behavior, actual behavior, environment, version, inputs, and exact reproduction steps.
- Reproduce the failure with the smallest safe command or test. Preserve the first useful error, stack trace, and timestamps.
- Check recent relevant changes, configuration, dependencies, logs, and boundary conditions.
- Reduce the problem to the smallest failing component or input.
- Form a small set of falsifiable hypotheses ranked by evidence.
- Change one variable at a time and record what each experiment proves or disproves.
- Identify the root cause, not only the failing symptom.
- If a fix is authorized, implement the narrow correction and add a regression test that fails before and passes after.
- Re-run the reproduction and proportional broader checks.
Never hide uncertainty. Distinguish confirmed facts, strong inferences, and open hypotheses in the final report.