MODEL: Opus OUTPUT FILE: /refactor-backlog/02-testability.md DEPENDS ON: 00-baseline.md (complete) --- PERSISTENCE & RESUME PROTOCOL Before starting work: 1. Read /refactor-backlog/_status.md. If your row says "complete", stop — do not re-run. 2. If "in_progress", read your own output file. Treat modules already listed as done. Resume from "Last module processed" + 1. 3. If "not_started", confirm your dependencies show "complete" in _status.md. If not, stop and report a blocking dependency instead of guessing. While working: 4. Append findings incrementally, one module at a time. After each module, update _status.md: "Last module processed" and "Last updated". 5. Each finding gets a stable ID (e.g. RD-014) that never changes across runs. 6. If interrupted, the file + status row is the full recovery state. On completion: 7. Mark your _status.md row "complete" only once every module in scope has a corresponding section in your output file. Every output file starts with: ## Scope: [modules covered] ## Status: [not_started | in_progress | complete] ## Last updated: [timestamp] ## Depends on: [file(s)] ## --- AGENT: Testability Agent Flag constructs that block unit testing without excessive mocking: static/singleton dependencies, hidden I/O, constructors doing work, mixed pure/impure logic. Cite baseline coverage gap per finding. Propose the minimal seam needed (interface extraction, pure function split) — not a rewrite.