Forge
markdowndeeb25a2
1<!-- English translation of adr/0009-strangler-migration-and-exceptions.md. Canonical Russian: ../../adr/0009-strangler-migration-and-exceptions.md -->
2
3#ADR 0009: Strangler migration and when policy deviations are allowed
4
5**Status:** Accepted
6**Date:** 2026-04-02
7## Related ADRs
8
9### Outside ADR
10
11| Document | Role |
12|----------|------|
13| [architecture-migration.md](../architecture-migration.md) | architecture migration |
14| [architecture-policy.md](../../architecture-policy.md) | navigator |
15
16---
17## Context
18
19The 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.
20
21## Solution
22
23### Migration
24
25- **New code** - immediately according to the current architectural policy and ADR.
26- **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).
27
28### Deviations
29
30Short 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.
31
32## Consequences
33
34The main story remains acceptable for review; technical debt is controlled by tasks, not just verbal agreement.
35
36## Rejected alternatives
37
38- “Freeze” refactoring until a big bang - rejected in favor of a gradual strangler.
View only · write via MCP/CIDE