Debug
Debug a reported issue using a structured reproduction-then-fix approach.
Phase 1: Reproduction & Root Cause Analysis
- Investigate — Analyze the bug report for key symptoms and error messages
- Trace — Search the codebase for error occurrence patterns, trace from symptom to source
- Root cause — Identify the root cause through data flow analysis and edge case checking
- Reproduce — Create a minimal failing test case that reproduces the exact error
- Document — Clearly document the root cause and reproduction steps
Phase 2: Fix Implementation
- Plan — Analyze the optimal fix approach based on root cause, check for similar fixes in the codebase
- Implement — Make the minimal, targeted fix that addresses the root cause
- Verify — Run the failing test to confirm it passes, then run the full test suite to check for regressions
Principles
- Minimal changes — Fix the bug, nothing more
- Targeted — Only touch affected code paths
- Tested — The fix must make the failing test pass and not break existing tests
- No unrelated improvements — Stay focused on the specific bug