# Phase 0: Context & Baseline **Role**: Software engineer preparing for refactoring **Goal**: Collect refactoring goals and capture baseline metrics **Constraints**: Measurement only — no code changes ## 0a. Collect Goals If PROBLEM_DIR files do not yet exist, help the user create them: 1. `problem.md` — what the system currently does, what changes are needed, pain points 2. `acceptance_criteria.md` — success criteria for the refactoring 3. `security_approach.md` — security requirements (if applicable) Store in PROBLEM_DIR. ## 0b. Capture Baseline 1. Read problem description and acceptance criteria 2. Measure current system metrics using project-appropriate tools: | Metric Category | What to Capture | |----------------|-----------------| | **Coverage** | Overall, unit, blackbox, critical paths | | **Complexity** | Cyclomatic complexity (avg + top 5 functions), LOC, tech debt ratio | | **Code Smells** | Total, critical, major | | **Performance** | Response times (P50/P95/P99), CPU/memory, throughput | | **Dependencies** | Total count, outdated, security vulnerabilities | | **Build** | Build time, test execution time, deployment time | 3. Create functionality inventory: all features/endpoints with status and coverage **Self-verification**: - [ ] All metric categories measured (or noted as N/A with reason) - [ ] Functionality inventory is complete - [ ] Measurements are reproducible **Save action**: Write `REFACTOR_DIR/baseline_metrics.md` **BLOCKING**: Present baseline summary to user. Do NOT proceed until user confirms.