What problem does it solve?
Systematic Debugging provides a disciplined four-phase approach to reliably diagnose and fix software bugs, test failures, regressions, crashes, and unexpected runtime behavior without guessing or shotgun-debugging.
Core Features & Use Cases
- Phase 1 — Root Cause Investigation: Reproduce failures, capture error messages and stack traces, inspect data flow, and check recent changes.
- Phase 2 — Pattern Analysis: Compare with working code, verify environment and dependency versions, and locate structural differences.
- Phase 3 — Hypothesis & Testing: Form a single, testable hypothesis and design the smallest possible test that validates or invalidates it.
- Phase 4 — Implementation (TDD): Write a failing test, apply a minimal fix, run the full test suite, and assess similar code for the same issue.
- Operational aids: Includes a debugging checklist, escalation rules (stop after multiple failed fixes), references for condition-based waiting, defense-in-depth validation, root-cause tracing, and a bisection script to find polluting tests.
- Use cases: Fixing flaky tests, CI regressions, failing E2E or unit tests, production crash investigation, and onboarding a reproducible fix process across a codebase.
Quick Start
Ask the debugger to run systematic-debugging on the failing test file test/user.spec.ts, reproduce the failure, produce a root-cause hypothesis, and propose a minimal failing test and fix.