Skip to content

ADR 0009: Strangler migration and when policy deviations are allowed

Status: Accepted
Date: 2026-04-02

Outside ADR

Document Role
architecture-migration.md architecture migration
architecture-policy.md navigator

Context

The code base takes a long time to develop; A complete shovel to fit the new rules is unacceptable in terms of cost. At the same time, we need clear rules for prototypes and merge into the main branch.

Solution

Migration

  • New code - immediately according to the current architectural policy and ADR.
  • Old code in a monolithic ViewModel - we edit when finalizing a feature or during explicit refactoring; full transfer is not required due to an artificial deadline (strangler).

Deviations

Short prototype or spike - simplification is allowed. Before merging into the main branch, we either bring it to the policy, or explicitly mark it in PR and create a takeaway task.

Consequences

The main story remains acceptable for review; technical debt is controlled by tasks, not just verbal agreement.

Rejected alternatives

  • “Freeze” refactoring until a big bang - rejected in favor of a gradual strangler.