ADR 0009: Strangler-миграция и когда допускаются отклонения от политики
Статус: Accepted
Дата: 2026-04-02
Связанные ADR
Вне ADR
| Документ | Роль |
|---|---|
| architecture-migration.md | architecture migration |
| architecture-policy.md | навигатор |
Контекст
Кодовая база развивается долго; полная перелопатка под новые правила недопустима по стоимости. Вместе с тем нужны ясные правила для прототипов и merge в основную ветку.
Решение
Миграция
- Новый код — сразу по текущей архитектурной политике и ADR.
- Старый код в монолитном ViewModel — правим при доработке фичи или при явном рефакторинге; полный перенос не обязателен по искусственному дедлайну (strangler).
Отклонения
Короткий прототип или spike — допускается упрощение. Перед merge в основную ветку либо приводим к политике, либо явно помечаем в PR и создаём задачу на вынос.
Последствия
История main остаётся приемлемой для ревью; технический долг контролируется задачами, а не только устной договорённостью.
Отклонённые альтернативы
- «Заморозить» рефакторинг до большого банга — отклонено в пользу постепенного strangler.