DEV Community

Dakota Huang profile picture

Dakota Huang

Building things with Python, Go, and JavaScript. Love automating everything.

Location Seattle, WA Joined Joined on 
Hash the Output Tree Before You Extract One Helper

Hash the Output Tree Before You Extract One Helper

Comments
6 min read
Freeze the Mess With Golden Files, Then Change One Seam

Freeze the Mess With Golden Files, Then Change One Seam

Comments
8 min read
Hash the Entrypoint Before You Extract One Module

Hash the Entrypoint Before You Extract One Module

Comments
9 min read
CLI Goldens Are the Spec Your Messy Repo Already Has

CLI Goldens Are the Spec Your Messy Repo Already Has

Comments
7 min read
Pin the Output Tree Before You Touch Messy Code

Pin the Output Tree Before You Touch Messy Code

Comments
7 min read
Record the Hot Path, Then Extract One Seam

Record the Hot Path, Then Extract One Seam

Comments
5 min read
Freeze the Export Table Before You Touch a Messy File

Freeze the Export Table Before You Touch a Messy File

Comments
8 min read
Cache the Repetition: A Quota-Saving Proxy for Free Model Endpoints

Cache the Repetition: A Quota-Saving Proxy for Free Model Endpoints

Comments
2 min read
The Quota You Can't See: A Client-Side Ledger for Free Model Tiers

The Quota You Can't See: A Client-Side Ledger for Free Model Tiers

Comments
4 min read
Don't Truncate Chat: Token-Aware Context Compressor

Don't Truncate Chat: Token-Aware Context Compressor

Comments
5 min read
Capture Three Channels, Then Change One Concern

Capture Three Channels, Then Change One Concern

Comments
7 min read
Refactor One Function After Characterization Holds

Refactor One Function After Characterization Holds

Comments
7 min read
Snapshot Hidden Process State Before You Split a God Module

Snapshot Hidden Process State Before You Split a God Module

Comments
6 min read
Pin Mixed Outputs Before You Split a God Module

Pin Mixed Outputs Before You Split a God Module

Comments
6 min read
Golden-Master a Tangled Script Before the Cleanup Diff

Golden-Master a Tangled Script Before the Cleanup Diff

Comments
7 min read
Snapshot File Deltas Before You Extract Glue

Snapshot File Deltas Before You Extract Glue

Comments
7 min read
Treat a Tangled File as a Black Box First

Treat a Tangled File as a Black Box First

Comments
7 min read
Lock Report Bytes Before You Extract One Function

Lock Report Bytes Before You Extract One Function

Comments
7 min read
Characterize the Job Envelope Before You Touch Helpers

Characterize the Job Envelope Before You Touch Helpers

Comments
8 min read
Characterize the Job Envelope Before You Touch Helpers

Characterize the Job Envelope Before You Touch Helpers

Comments
8 min read
Record Four CLI Channels Before You Change One Flag

Record Four CLI Channels Before You Change One Flag

Comments
8 min read
Pin Package Output Before You Change One Branch

Pin Package Output Before You Change One Branch

Comments
6 min read
Freeze the Repo Seam Before You Cut a Single File

Freeze the Repo Seam Before You Cut a Single File

Comments
7 min read
Edit Once: Freeze a Messy Module at the Process Boundary

Edit Once: Freeze a Messy Module at the Process Boundary

Comments
7 min read
The Smallest Safe Change: Refactor a Messy Function One Step at a Time

The Smallest Safe Change: Refactor a Messy Function One Step at a Time

Comments
4 min read
Refactor on a Budget: Why Your Diff Size Should Be a Hard Limit

Refactor on a Budget: Why Your Diff Size Should Be a Hard Limit

Comments
4 min read
The Smallest Safe Change: A Refactor Budget for Messy Repos

The Smallest Safe Change: A Refactor Budget for Messy Repos

Comments
4 min read
The Refactor Preflight: 20 Minutes That Decide Your Outcome

The Refactor Preflight: 20 Minutes That Decide Your Outcome

Comments
3 min read
Lock Down a Legacy Function in 30 Minutes: AI Tests, Mutation Checks, and a Free Server

Lock Down a Legacy Function in 30 Minutes: AI Tests, Mutation Checks, and a Free Server

Comments
4 min read
The Impact Radius: Refactor Around Every Caller You Can't See

The Impact Radius: Refactor Around Every Caller You Can't See

Comments
5 min read
Characterization Tests Can Be Fake. Mutation Testing Proves They Work.

Characterization Tests Can Be Fake. Mutation Testing Proves They Work.

Comments
3 min read
When Types Can't Save You: Behavior Contracts for Messy Functions

When Types Can't Save You: Behavior Contracts for Messy Functions

Comments
4 min read
Pin the Mess: Characterization Tests Before You Refactor a Legacy Function

Pin the Mess: Characterization Tests Before You Refactor a Legacy Function

Comments
4 min read
Zero-Cost Refactor Safety: AI Tests on a Free Server

Zero-Cost Refactor Safety: AI Tests on a Free Server

Comments
3 min read
The Smallest Safe Change: A Branch-Level Refactor Workflow for Messy Repos

The Smallest Safe Change: A Branch-Level Refactor Workflow for Messy Repos

Comments
5 min read
Your Cache Header Is a Contract. Characterize It Before You Refactor

Your Cache Header Is a Contract. Characterize It Before You Refactor

Comments
4 min read
Your Refactor Needs an Oracle: Characterization Tests vs. AI Diffs

Your Refactor Needs an Oracle: Characterization Tests vs. AI Diffs

1
Comments
3 min read
Your Refactor Is a Guess Until You Diff the Public Surface

Your Refactor Is a Guess Until You Diff the Public Surface

Comments 1
4 min read
You Drafted the Patch. Now Prove It Changed Nothing.

You Drafted the Patch. Now Prove It Changed Nothing.

Comments
6 min read
Audit AI-Generated Characterization Tests Before You Refactor

Audit AI-Generated Characterization Tests Before You Refactor

Comments
4 min read
Your Clean Diff May Lie: Capture Behavior Before You Approve

Your Clean Diff May Lie: Capture Behavior Before You Approve

Comments
5 min read
Differential Characterization: The Only Refactor Safety Net for Messy JSON Normalizers

Differential Characterization: The Only Refactor Safety Net for Messy JSON Normalizers

Comments
3 min read
Free AI Tokens and a Free Server Are Enough for a Refactor Safety Net

Free AI Tokens and a Free Server Are Enough for a Refactor Safety Net

Comments
3 min read
Smoke Tests Should Run Themselves: A Free Model and Free Server Workflow

Smoke Tests Should Run Themselves: A Free Model and Free Server Workflow

Comments
5 min read
The Smallest Safe Refactor: Lock Behavior, Then Change One Thing

The Smallest Safe Refactor: Lock Behavior, Then Change One Thing

Comments
4 min read
One Function, One Test, One Commit: The Smallest Safe Refactor

One Function, One Test, One Commit: The Smallest Safe Refactor

Comments
3 min read
The Smallest Safe Change: A Characterization-First Workflow for Messy Repos

The Smallest Safe Change: A Characterization-First Workflow for Messy Repos

Comments
4 min read
From Characterization Tests to Minimal Safe Refactors: A Free-Resource Workflow

From Characterization Tests to Minimal Safe Refactors: A Free-Resource Workflow

Comments
3 min read
Characterize, Minify, Refactor: A Safe Path Through a Messy Codebase

Characterize, Minify, Refactor: A Safe Path Through a Messy Codebase

Comments
4 min read
You're the Reviewer Now. Who Reviews Your Verdict?

You're the Reviewer Now. Who Reviews Your Verdict?

Comments
3 min read
The Smallest Safe Change: Capture Behavior, Refactor, Ship

The Smallest Safe Change: Capture Behavior, Refactor, Ship

Comments
4 min read
Characterization Tests Need a Home: Run Them on a Free Server

Characterization Tests Need a Home: Run Them on a Free Server

Comments
3 min read
Real API Traffic Is Your Missing Test Data: A Free-Server Capture Workflow

Real API Traffic Is Your Missing Test Data: A Free-Server Capture Workflow

Comments
6 min read
Your AI Refactor Looks Right: Verify It With a Behavior Fingerprint

Your AI Refactor Looks Right: Verify It With a Behavior Fingerprint

Comments
4 min read
Characterization-First Refactoring: Lock the Mess, Then Fix It

Characterization-First Refactoring: Lock the Mess, Then Fix It

Comments
4 min read
Diff the AI's Test Draft Before You Adopt It

Diff the AI's Test Draft Before You Adopt It

Comments
5 min read
The AI Wrote the Diff. The Tests Wrote the Verdict.

The AI Wrote the Diff. The Tests Wrote the Verdict.

Comments
4 min read
A Refactor Without a Baseline Is a Trust Fall

A Refactor Without a Baseline Is a Trust Fall

Comments
3 min read
The Change Budget: A Decision Table for Messy Repo Refactors

The Change Budget: A Decision Table for Messy Repo Refactors

Comments
4 min read
Differential Testing Is the Proof Your Extraction Is Missing

Differential Testing Is the Proof Your Extraction Is Missing

Comments
5 min read
loading...