Перейти к содержанию

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.