Restructures existing code, migrates between frameworks or languages, and applies systematic changes across a codebase.
Applies structural change at scale — extracting modules, migrating frameworks, updating deprecated APIs, translating between languages. Mechanical transformation, applied consistently.
Repetitive mechanical change across many files, framework version migration, and deprecation cleanup.
Refactoring requiring design judgement about what the structure should become. It executes a decision; it does not make one.
Behaviour-preserving refactoring must be verified as behaviour-preserving. Adequate test coverage is a precondition, not a nice-to-have.
Subtle behaviour change in a small proportion of a large mechanical change — correct in 400 files and wrong in three, with the diff too large for anyone to read carefully.
Migrating a data access layer across an ORM version, where the transformation is mechanical and the risk is the handful of places it is not.
Two different absences share this shape. Foundational solutions get built whatever the domain, so no domain links them; the rest are solutions this domain genuinely does not reach for. v_ai_solutions_unlinked separates the two.