ODMA
Контракты ошибок
Сохраняем смысл между границами
сбой → явный контракт ошибки → обработчик верхнего уровня → результат для пользователя
Ожидаемые ошибки валидации, отсутствующие данные и отказ API выражаются существующим контрактом результата. Нарушенные инварианты, некорректные ответы и программные ошибки нельзя превращать в пустые данные или ложный успех.
Инфраструктура сообщает о сбое, домен или приложение интерпретирует его, а верхняя граница выбирает представление. Одного логирования недостаточно. При преобразовании ошибки сохраняем исходную причину.
Отсутствующая CMS-страница остаётся 404. Недоступность обязательной инфраструктуры — серверный сбой. Проверяем и контракт, и видимое поведение: повтор запроса, сообщение и сохранность данных.