A messy function should not be rewritten on day one. Lock today's outputs with characterization tests before any edit. The smallest safe change is the edit those tests still accept. This workflow is a proposal with unexecuted examples. It does not report a measured production run. Use the workflow to separate observation from cleanup. Why a wide rewrite fails review A large rewrite hides several behavior changes in one diff. Reviewers then cannot name the line that moved an ou...