Blogs
Common patterns we see in long-lived, production codebases.
Case Study
I Ran Refactron on Django's Codebase. Here's What It Found.
March 31, 2026
Industry Analysis
Refactron vs Cursor vs CodeAnt: Why "AI Refactoring" Means Three Different Things
March 31, 2026
Product
Why We Built a Verification Engine Before an AI Refactoring Engine
March 31, 2026
Enterprise Software
Improving Maintainability in a Legacy Codebase
January 15, 2025
Release
Refactron v0.2.3: We Doubled the Transform Catalog
v0.2.3 ships ten new deterministic transforms — six for Python, four for TypeScript — bringing the catalog to twenty. Adds a pythonVersion config so version-gated rewrites can be opted in safely, and fixes a silent engine-composition data-loss bug.
May 27, 2026
Developer Guide
Type-Aware AST Transforms: How ts-morph Keeps indexof_to_includes Honest
The naive version of arr.indexOf(x) !== -1 → arr.includes(x) is a one-liner regex. The version that does not break your code is 40 lines and a type check. Here is why, and how the same pattern applies to two other v0.2.3 transforms.
May 24, 2026
Engineering
The Bug That Silently Dropped Half Your Refactor
When two transforms touched the same file in the same run, only one of their changes survived to disk. The refactor reported success. The diff was a lie. Here is how the bug worked and how PR #38 fixed it.
May 22, 2026
Engineering
The Three-Gate Safety Model: Why We Run Your Tests Before Touching Your Code
Every refactor Refactron applies has to clear three gates first: syntax validity, import integrity, and your full test suite, in that order, on a shadow copy of your tree. This is the implementation, the rationale, and what each gate catches that the previous one cannot.
May 20, 2026
Release
v0.2.2: Rollback, Bordered Output, and a document Step That Finally Scales
v0.2.2 is the quality-of-life release for the analyze → run → document pipeline. Boxed output you can read at a glance, a real rollback command, and a documentation step whose LLM call count no longer blows up on large files.
May 18, 2026
Engineering
v0.2.1: The Scope-Blind Bug That Quietly Killed var_to_const_let on Real Codebases
Three days after v0.2.0 we shipped a patch — the var_to_const_let transform was matching identifiers by text across the entire file. Scope-blind. Here is what broke, how it was caught, and what we changed.
May 16, 2026
Release
Refactron v0.2.0 Is Here: Deterministic Refactoring with a Three-Gate Safety Net
Refactron v0.2.0 is the first public release of our v2.0 rebuild. Ten deterministic transforms across Python and TypeScript, every change gated by three checks (syntax → imports → tests), and either every file commits or none does. This post is the re-introduction.
May 15, 2026
Release
Refactron Is Now a Node.js Package. Here's Why That Changes Everything.
Refactron v2.0 is a TypeScript rewrite distributed as an npm package. Same verification guarantees, new blast radius analysis, temporal safety intelligence, and support for both Python and TypeScript codebases.
April 6, 2026
Product
Why We Built Refactron to Run Locally — Your Code Stays on Your Machine
Cloud-based AI tools process your code on external servers. We chose a different architecture — and here is why that decision matters for teams working on production codebases.
April 2, 2026
Developer Guide
How to Safely Refactor Python Code You Didn't Write
Every developer has inherited code they didn't write. A service built by someone who left the company. A module running in production since 2019 with no tests and no documentation. Here's a practical framework for touching it safely.
March 12, 2026
Engineering
The Real Cost of Not Refactoring Your Python Codebase
Engineering teams talk about technical debt as if it's a known quantity. In practice most teams don't pay it down. They defer it until the codebase becomes something nobody wants to touch. This is not a discipline problem — it's a risk problem.
March 5, 2026
Case Study
I Ran Refactron on FastAPI. Here's What It Found.
FastAPI is the youngest codebase in this series — modern, well-typed, actively maintained. We're not looking at accumulated legacy complexity. We're looking at what complexity looks like in a well-designed modern Python codebase.
February 20, 2026
Case Study
I Ran Refactron on the Requests Library. Here's What It Found.
The Requests library is one of the most downloaded Python packages in existence. Around 15,000 lines of Python — meaning findings are concentrated. Here is what surfaced.
February 15, 2026
Release
Refactron v0.2.3: We Doubled the Transform Catalog
v0.2.3 ships ten new deterministic transforms — six for Python, four for TypeScript — bringing the catalog to twenty. Adds a pythonVersion config so version-gated rewrites can be opted in safely, and fixes a silent engine-composition data-loss bug.
May 27, 2026
Engineering
The Three-Gate Safety Model: Why We Run Your Tests Before Touching Your Code
Every refactor Refactron applies has to clear three gates first: syntax validity, import integrity, and your full test suite, in that order, on a shadow copy of your tree. This is the implementation, the rationale, and what each gate catches that the previous one cannot.
May 20, 2026
Release
Refactron v0.2.0 Is Here: Deterministic Refactoring with a Three-Gate Safety Net
Refactron v0.2.0 is the first public release of our v2.0 rebuild. Ten deterministic transforms across Python and TypeScript, every change gated by three checks (syntax → imports → tests), and either every file commits or none does. This post is the re-introduction.
May 15, 2026
Developer Guide
How to Safely Refactor Python Code You Didn't Write
Every developer has inherited code they didn't write. A service built by someone who left the company. A module running in production since 2019 with no tests and no documentation. Here's a practical framework for touching it safely.
March 12, 2026
Case Study
I Ran Refactron on the Requests Library. Here's What It Found.
The Requests library is one of the most downloaded Python packages in existence. Around 15,000 lines of Python — meaning findings are concentrated. Here is what surfaced.
February 15, 2026
Developer Guide
Type-Aware AST Transforms: How ts-morph Keeps indexof_to_includes Honest
The naive version of arr.indexOf(x) !== -1 → arr.includes(x) is a one-liner regex. The version that does not break your code is 40 lines and a type check. Here is why, and how the same pattern applies to two other v0.2.3 transforms.
May 24, 2026
Release
v0.2.2: Rollback, Bordered Output, and a document Step That Finally Scales
v0.2.2 is the quality-of-life release for the analyze → run → document pipeline. Boxed output you can read at a glance, a real rollback command, and a documentation step whose LLM call count no longer blows up on large files.
May 18, 2026
Release
Refactron Is Now a Node.js Package. Here's Why That Changes Everything.
Refactron v2.0 is a TypeScript rewrite distributed as an npm package. Same verification guarantees, new blast radius analysis, temporal safety intelligence, and support for both Python and TypeScript codebases.
April 6, 2026
Engineering
The Real Cost of Not Refactoring Your Python Codebase
Engineering teams talk about technical debt as if it's a known quantity. In practice most teams don't pay it down. They defer it until the codebase becomes something nobody wants to touch. This is not a discipline problem — it's a risk problem.
March 5, 2026
Engineering
The Bug That Silently Dropped Half Your Refactor
When two transforms touched the same file in the same run, only one of their changes survived to disk. The refactor reported success. The diff was a lie. Here is how the bug worked and how PR #38 fixed it.
May 22, 2026
Engineering
v0.2.1: The Scope-Blind Bug That Quietly Killed var_to_const_let on Real Codebases
Three days after v0.2.0 we shipped a patch — the var_to_const_let transform was matching identifiers by text across the entire file. Scope-blind. Here is what broke, how it was caught, and what we changed.
May 16, 2026
Product
Why We Built Refactron to Run Locally — Your Code Stays on Your Machine
Cloud-based AI tools process your code on external servers. We chose a different architecture — and here is why that decision matters for teams working on production codebases.
April 2, 2026
Case Study
I Ran Refactron on FastAPI. Here's What It Found.
FastAPI is the youngest codebase in this series — modern, well-typed, actively maintained. We're not looking at accumulated legacy complexity. We're looking at what complexity looks like in a well-designed modern Python codebase.
February 20, 2026
Ready to transform your codebase?
Partner with us to create an actionable refactoring playbook tailored to your engineering challenges.