Architectural drift prevention Architectural governance Maintaining architectural intent AI coding agents Agent infrastructure Engineering performance Software migrations & modernization All
Software migrations and modernization — keeping AI coding agents inside the target architecture while a migration is under way. During a migration a repository contains more examples of the architecture you are leaving than the one you are moving toward, so agents infer the wrong pattern from frequency. These essays cover why that happens, the decision states a migration needs, and how path-scoped enforcement resolves them.
Insights / Topics

Software migrations and modernization

Legacy and migrated code share one repository for the length of the project, and the legacy side is better represented. These essays cover why agents copy the architecture you are removing and what makes the distinction enforceable. See the migrations use case.

A migration is the one situation where following the surrounding code is the wrong instinct. For as long as the project runs, the repository demonstrates two architectures, and the one being removed is almost always the better represented of the two. An agent that infers house style by looking at what is already there will infer the architecture you are paying to eliminate, and it will do so while every individual change looks locally reasonable.

These essays cover why that happens, why better retrieval makes it worse rather than better, and what a decision corpus needs in order to describe a system in transition: states for legacy, target, transitional and superseded patterns, and path applicability so a rule can govern migrated modules while staying silent where migration has not reached.

If you want to see the enforcement path before reading the argument, the migration demo traces an agent copying the legacy pattern into a migrated module: denied there, and silently skipped in the legacy tree where the same pattern is still correct.