Решение превращает контроль ковенантов из периодической ручной сверки в сквозную расчётную цепочку от графика долга до юридического события. В одной модели связаны остаток и обслуживание каждого кредита, финансовые показатели заёмщика, договорный порог на конкретную дату, зона предупреждения, нарушение, право на исправление внесением капитала, собственный дефолт, перекрёстный дефолт и запас прочности.
Порог ковенанта в этой модели не спрятан в формуле. Он загружен как отдельный факт по сочетанию «кредит × ковенант × дата тестирования». Поэтому финансовый директор видит не только текущее значение показателя, но и причину изменения статуса: ухудшилась экономика заёмщика либо кредитор ужесточил договорный порог. Это особенно наглядно на срочном кредите «Заря-Агро»: показатель «Чистый долг / EBITDA» улучшается с 3,92 до 3,70, но статус меняется с предупреждения на нарушение, потому что допустимый уровень одновременно снижается с 4,00 до 3,50.
Подтверждённый контур охватывает 4 заёмщика, 7 кредитов и траншей, 5 финансовых ковенантов, 15 кварталов, 2 сценария и 3 связанных куба. На стенд загружено 2 100 исходных адресов, остальные 50 из 60 мер рассчитывает движок. Выполнено 88 правил, создана рабочая книга из 4 листов. Результат проверен локальными контролями и поячеечной сверкой на стенде: 134 560 значений на детальных и сводных уровнях, расхождений — 0.
Граница результата зафиксирована отдельно. В данном кейсе описан только этот подтверждённый контур. Расширенный проектный каталог на 14 кубов, 30 соглашений и 18 типов ковенантов не заявляется как построенная часть решения: приложенная выгрузка не подтверждает его полный расчёт и приёмку на платформе. Цифры и функции двух контуров в описании не смешиваются.
Расчёт начинается с поквартального графика семи кредитов и траншей. По каждому инструменту модель переносит остаток долга между кварталами, учитывает плановое погашение, рассчитывает процентную нагрузку и обслуживание долга за квартал и за последние 12 месяцев. Затем данные кредитов собираются на уровне заёмщика, где рассчитываются валовой и чистый долг, EBITDA за последние 12 месяцев, покрытие процентов, покрытие обслуживания долга, текущая ликвидность и доля собственного капитала.
Далее для каждого кредита, каждого из пяти ковенантов, каждой из 12 дат тестирования и двух сценариев выполняется отдельный договорный тест. Всего сформировано 840 тестируемых ячеек: 7 кредитов × 5 ковенантов × 12 дат × 2 сценария. Для каждой ячейки решение определяет:
Финансовые показатели группы в базовом сценарии:
| Дата | Чистый долг, млн ₽ | EBITDA за 12 месяцев, млн ₽ | Чистый долг / EBITDA | Покрытие обслуживания долга | Покрытие процентов | Текущая ликвидность | Доля капитала |
|---|---|---|---|---|---|---|---|
| I кв. 2026 | 9 991,2 | 3 851,8 | 2,59 | 1,83 | 2,62 | 1,35 | 35,7 % |
| IV кв. 2026 | 9 291,6 | 3 388,0 | 2,74 | 1,51 | 2,44 | 1,35 | 35,8 % |
| IV кв. 2027 | 8 459,8 | 3 305,7 | 2,56 | 1,56 | 2,60 | 1,34 | 35,9 % |
| IV кв. 2028 | 7 567,4 | 3 508,3 | 2,16 | 1,74 | 3,02 | 1,34 | 36,0 % |
На уровне группы долговая нагрузка выглядит устойчивой и к концу 2028 года снижается до 2,16. При этом отдельный кредит «Заря-Агро» нарушает договорный порог. Это показывает назначение модели: общий показатель группы не заменяет контроль по конкретному соглашению и конкретному ковенанту.
Путь срочного кредита «Заря-Агро» в базовом сценарии по ковенанту «Чистый долг / EBITDA»:
| Дата | Порог | Фактическое значение | Запас до порога | Состояние | Внесение капитала | Накоплено исправлений | Сумма, млн ₽ | Дефолт |
|---|---|---|---|---|---|---|---|---|
| I кв. 2026 | 4,00 | 3,05 | +0,95 | норма | — | 0 | — | — |
| II кв. 2026 | 4,00 | 3,20 | +0,80 | норма | — | 0 | — | — |
| III кв. 2026 | 4,00 | 3,60 | +0,40 | норма | — | 0 | — | — |
| IV кв. 2026 | 4,00 | 3,92 | +0,08 | предупреждение | — | 0 | — | — |
| I кв. 2027 | 3,50 | 3,70 | −0,20 | нарушение | применено | 1 | 55,1 | — |
| II кв. 2027 | 3,50 | 3,35 | +0,15 | предупреждение | — | 1 | — | — |
| III кв. 2027 | 3,50 | 3,45 | +0,05 | предупреждение | — | 1 | — | — |
| IV кв. 2027 | 3,50 | 3,65 | −0,15 | нарушение | применено | 2 | 39,3 | — |
| I кв. 2028 | 3,00 | 3,30 | −0,30 | нарушение | недоступно | 2 | — | да |
| II кв. 2028 | 3,00 | 3,10 | −0,10 | нарушение | недоступно | 2 | — | да |
| III кв. 2028 | 3,00 | 2,80 | +0,20 | норма | — | 2 | — | — |
| IV кв. 2028 | 3,00 | 2,55 | +0,45 | норма | — | 2 | — | — |
Два исправления покрывают нарушения 2027 года на общую сумму 94,4 млн ₽. После исчерпания допустимого механизма нарушение I квартала 2028 года становится событием дефолта.
Механика существенности проверена на двух противоположных случаях. Дефолт лизинга «Заря-Трейд» на 224 млн ₽ не вызывает перекрёстный дефолт оборотной линии, потому что её порог составляет 300 млн ₽. Обратная ситуация срабатывает: дефолт оборотной линии на 1 100 млн ₽ превышает порог лизинга 150 млн ₽, поэтому лизинг получает перекрёстный дефолт, даже не нарушив собственного ковенанта в соответствующем периоде. Всего перекрёстный дефолт сработал в 21 ячейке.
Стрессовый сценарий применяется с I квартала 2027 года: EBITDA уменьшается на 20 %, а ставка по плавающим инструментам повышается на 3 процентных пункта. На конец 2028 года долговая нагрузка группы составляет 2,16 в базовом сценарии и 2,70 в стрессовом. Три кредита, проходящие весь срок без собственного дефолта в базовом сценарии, получают дефолт или перекрёстный дефолт в стрессовом.
| Бизнес-объект | Физический объект | Фактически построенное содержание |
|---|---|---|
| Заёмщики | cov_borrower | 5 элементов: группа и 4 компании — «Заря-Агро», «Заря-Мельница», «Заря-Мясо» и «Заря-Трейд». Атрибут определяет вид элемента. Иерархия 35 позволяет переходить от группы к отдельному заёмщику. |
| Кредиты и транши | cov_loan | 12 элементов: портфель, 4 типа инструментов и 7 кредитов или траншей — срочный кредит и линия Банка Б «Заря-Агро», инвестиционный кредит и облигации «Заря-Мельницы», проектное финансирование «Заря-Мясо», оборотная линия и лизинг «Заря-Трейд». Атрибуты хранят заёмщика, тип инструмента, ставку, признак плавающей ставки, порог существенности и допустимое число исправлений. Иерархия 36. |
| Календарь контроля | cov_date | 20 элементов: общий срок, 4 года и 15 кварталов. Три квартала 2025 года используются как история для расчёта показателей за 12 месяцев; 12 кварталов 2026–2028 годов являются датами тестирования. Атрибуты связывают текущий квартал с тремя предыдущими и с последним кварталом года. Иерархия 37. |
| Ковенанты | cov_covenant | 10 элементов: общий узел, 4 группы и 5 листовых ковенантов — «Чистый долг / EBITDA», покрытие обслуживания долга, покрытие процентов, текущая ликвидность и доля собственного капитала. Атрибуты задают направление ограничения, ширину зоны предупреждения и единицу измерения. Иерархия 38. |
| Сценарии | cov_scenario | 2 элемента: базовый и стрессовый. Атрибуты задают множитель EBITDA и сдвиг ставки. Иерархия намеренно отсутствует: сумма двух сценариев не имеет экономического смысла. |
| График долга | cov_debt | Измерения: заёмщик × кредит × дата × сценарий. 11 мер: начальные данные, эффективная ставка, остаток долга, проценты, погашение, обслуживание долга, порог существенности и лимит исправлений. |
| Финансовые показатели заёмщика | cov_fin | Измерения: заёмщик × дата × сценарий. 23 меры: квартальная и годовая EBITDA, денежные средства, оборотные активы и обязательства, капитал, активы, валовой и чистый долг, обслуживание долга и пять финансовых коэффициентов. |
| Ковенантный мониторинг | covenant | Измерения: заёмщик × кредит × ковенант × дата × сценарий. 26 мер: порог, фактическое значение, запас, состояние, предупреждение, нарушение, внесение капитала, дефолт, перекрёстный дефолт и запас прочности. |
| Рабочая книга | covenant_app, app_id = 20 | 4 листа: ковенантная панель, нарушения и дефолты, финансовые показатели, запас прочности и стрессовый сценарий. |
В три куба загружено 2 100 адресов:
cov_fin — 120 сочетаний координат по 7 входным мерам;cov_debt — 210 сочетаний по 2 входным мерам;covenant — по одному порогу на каждый тестируемый адрес.Всего в кубах 60 мер. Десять мер являются загруженными входами, 50 мер рассчитываются правилами платформы. Создано 88 правил: 50 правил детального расчёта и 38 правил свода. По кубам это 15 правил в графике долга, 32 правила в финансовом кубе и 41 правило в ковенантном кубе.
| Шаг | Бизнесовый смысл |
|---|---|
| 1. Формирование временной оси | Расчёт охватывает 15 последовательных кварталов с II квартала 2025 года по IV квартал 2028 года. Первые три квартала являются историей, следующие 12 — датами тестирования. |
| 2. Расчёт остатка долга | Остаток текущего квартала равен остатку предыдущего квартала за вычетом планового погашения. На первой дате остаток принимается равным исходной сумме кредита. |
| 3. Расчёт ставки и процентов | Для фиксированного инструмента используется договорная ставка. Для плавающего инструмента на прогнозных датах к ставке добавляется сценарный сдвиг. Квартальные проценты рассчитываются от остатка долга и годовой ставки. |
| 4. Расчёт обслуживания долга | Обслуживание долга за квартал равно процентам плюс плановое погашение основного долга. Показатели за 12 месяцев собираются как сумма четырёх последовательных кварталов. |
| 5. Формирование показателей заёмщика | Валовой долг равен сумме остатков семи инструментов, относящихся к заёмщику. Чистый долг равен валовому долгу за вычетом денежных средств. Финансовые показатели каждого заёмщика хранятся отдельно и могут быть сведены на группу. |
| 6. Расчёт пяти коэффициентов | Чистый долг / EBITDA = чистый долг, делённый на EBITDA за 12 месяцев. Покрытие обслуживания долга = EBITDA за 12 месяцев, делённая на проценты и погашение за тот же период. Покрытие процентов = EBITDA, делённая на проценты. Текущая ликвидность = оборотные активы, делённые на краткосрочные обязательства. Доля капитала = собственный капитал, делённый на активы. |
| 7. Применение договорного порога | Для каждого кредита и года читается собственный график порогов. Например, по срочному кредиту «Заря-Агро» предельное значение «Чистый долг / EBITDA» снижается с 4,00 до 3,50 и затем до 3,00. Порог является данными, поэтому его можно менять без переписывания формулы показателя. |
| 8. Определение запаса и состояния | Запас считается с учётом направления ограничения: для показателя «не более» превышение порога даёт отрицательный запас, для показателя «не менее» — отрицательный запас возникает при недостижении порога. Зона предупреждения составляет 5 % от абсолютного значения порога. Отрицательный запас означает нарушение; положительный запас внутри зоны 5 % — предупреждение; остальные значения — норма. |
| 9. Расчёт денежного запаса прочности | Для каждого ковенанта определяется, на сколько может снизиться EBITDA, прежде чем показатель окажется точно на пороге. Для ликвидности и доли капитала в демо принято допущение, что снижение результата уменьшает денежные средства и капитал один к одному. Отрицательный запас показывает глубину нарушения и требуемую сумму внесения капитала. |
| 10. Исправление нарушений внесением капитала | Право применяется на уровне кредитного соглашения. Исправление возможно, если есть нарушение, не исчерпан договорный лимит и исправление не применялось в предыдущем квартале. Счётчик переносится во времени и проверяет два предыдущих шага. Сумма равна наибольшей глубине нарушения среди пяти ковенантов кредита. |
| 11. Собственный дефолт | Если нарушение не покрыто доступным исправлением, формируется собственный дефолт. Отдельно считается число последовательных кварталов с неисправленным нарушением и сумма остатка долга в дефолте. |
| 12. Перекрёстный дефолт | Для каждого кредита остаток долга в дефолте по каждому другому обязательству того же заёмщика сравнивается с собственным порогом существенности этого кредита. Если хотя бы одно обязательство превышает порог, возникает перекрёстный дефолт. Событие распространяется только внутри одного заёмщика; собственный вклад исключается из сравнения. |
| 13. Сценарный пересчёт | На фактических датах два сценария совпадают. С I квартала 2027 года стрессовый сценарий уменьшает EBITDA на 20 % и повышает ставки по плавающим инструментам на 3 процентных пункта, после чего вся цепочка — долг, проценты, коэффициенты, нарушения и дефолты — пересчитывается заново. |
| 14. Экономически корректный свод | Потоки, например проценты и погашения, суммируются. Запасы, например долг, деньги и капитал, на годовом уровне берутся на последний квартал, а не складываются за четыре квартала. Отношения рассчитываются заново из свёрнутых числителя и знаменателя. Состояние узла равно худшему состоянию листьев, запас прочности — минимальному запасу, а договорный порог на неоднородном узле оставляется пустым. |
Механика внесения капитала в подтверждённом демо отражает юридическое устранение последствия нарушения, но не переписывает исходный финансовый показатель: состояние ковенанта продолжает показывать нарушение, а факт его покрытия хранится в отдельных мерах. Сумма внесения капитала также не возвращается в баланс следующего квартала. Это сознательная граница построенного сценария, а не скрытая часть расчёта.
| Показатель | Бизнесовое название | Как формируется и что показывает |
|---|---|---|
debt_out | Остаток долга | Остаток предыдущего квартала минус плановое погашение. На первой дате равен исходной сумме кредита. |
rate_eff | Эффективная ставка | Договорная ставка с добавлением стрессового сдвига для плавающих инструментов на прогнозных датах. |
interest_q | Проценты за квартал | Остаток долга, умноженный на годовую ставку и разделённый на четыре. |
principal_ltm | Погашение за 12 месяцев | Сумма планового погашения за текущий и три предыдущих квартала. |
interest_ltm | Проценты за 12 месяцев | Сумма процентных расходов за четыре последовательных квартала. |
ds_ltm | Обслуживание долга за 12 месяцев | Проценты плюс погашение основного долга за тот же скользящий период. |
ebitda_ltm | EBITDA за 12 месяцев | Сумма квартальной EBITDA текущего и трёх предыдущих кварталов. |
debt_gross | Валовой долг | Сумма остатков кредитов и траншей конкретного заёмщика. |
net_debt | Чистый долг | Валовой долг за вычетом денежных средств. |
nde | Чистый долг / EBITDA | Основной показатель долговой нагрузки. На уровне группы равен 2,16 на конец 2028 года в базовом сценарии и 2,70 в стрессовом. |
dscr | Покрытие обслуживания долга | EBITDA за 12 месяцев, делённая на проценты и погашение за 12 месяцев. |
icr | Покрытие процентов | EBITDA за 12 месяцев, делённая на проценты за 12 месяцев. |
cur_ratio | Текущая ликвидность | Оборотные активы, делённые на краткосрочные обязательства. |
eq_share | Доля собственного капитала | Собственный капитал, делённый на активы. |
threshold | Договорный порог | Загруженное значение по кредиту, ковенанту и дате. На сводном узле не суммируется. |
headroom, head_pct | Запас до порога | Разница между фактическим значением и порогом с учётом направления ограничения; также выражается как доля порога. |
state | Состояние ковенанта | 0 — норма, 1 — предупреждение, 2 — нарушение. Все три состояния присутствуют в данных; расчёт независимо воспроизведён во всех 840 тестируемых ячейках. |
loan_breach | Нарушение кредитного соглашения | Признак того, что нарушен хотя бы один из пяти ковенантов кредита на дату. |
cure_cum, cure_used | Накопленное и текущее исправление | Счётчик использований внесения капитала и факт его применения в текущем квартале с учётом лимита и запрета двух применений подряд. |
cure_amount | Требуемая сумма внесения капитала | Наибольшая глубина нарушения среди ковенантов кредита. По срочному кредиту «Заря-Агро» применены суммы 55,1 и 39,3 млн ₽. |
breach_net, streak | Неисправленное нарушение и его длительность | Нарушение после учёта доступного исправления и число последовательных кварталов, в которых оно сохраняется. |
loan_default | Собственный дефолт | Возникает, когда нарушение не покрыто внесением капитала. По срочному кредиту «Заря-Агро» в базовом сценарии начинается в I квартале 2028 года. |
def_amt | Долг в дефолте | Остаток долга по кредиту с собственным дефолтом; используется для проверки существенности по другим соглашениям. |
cross_default | Перекрёстный дефолт | Возникает, если дефолт по другому обязательству того же заёмщика превышает порог существенности текущего кредита. В проверенном наборе сработал в 21 ячейке. |
event_flag | Итоговое событие по кредиту | Максимум собственного и перекрёстного дефолта: кредит находится в дефолте по любой из двух причин. |
cushion_abs, cushion_pct | Запас прочности по EBITDA | Допустимое снижение EBITDA до достижения порога в млн ₽ и процентах. Для срочного кредита «Заря-Агро» запас на IV квартал 2026 года составляет 18,7 млн ₽, или 2,0 % EBITDA. |
cushion_check | Контроль расчёта запаса | Повторно рассчитывает ковенант после уменьшения EBITDA на величину запаса. Ожидаемое значение — ноль; максимальное отклонение во всех 840 ячейках составило 4,4·10⁻¹⁶. |
Рабочая книга построена на трёх связанных кубах. Каждый лист отвечает на отдельный управленческий вопрос, но использует одну и ту же расчётную цепочку и один набор договорных порогов.
| Витрина | Источник | Что видит финансовый директор |
|---|---|---|
| Ковенантная панель заёмщика | covenant | По строкам — пять ковенантов и их группы; по столбцам — кварталы, порог, фактическое значение, запас и состояние. Фильтры позволяют выбрать сценарий, заёмщика и кредит. Видна траектория «норма → предупреждение → нарушение» и причина изменения статуса. |
| Нарушения, внесение капитала и дефолты | covenant | По строкам рядом показаны базовый и стрессовый сценарии и все кредиты; по столбцам — даты и 9 мер событий. Видны нарушение, применённое исправление, накопленный лимит, собственный дефолт, сумма долга и перекрёстный дефолт. |
| Финансовые показатели и коэффициенты | cov_fin | Финансовые данные четырёх заёмщиков и группы по кварталам: EBITDA, долг, деньги, чистый долг, покрытие, ликвидность и доля капитала. На годовом уровне запасы показываются на конец года, а не как сумма четырёх кварталов. |
| Запас прочности и стрессовый сценарий | covenant | По каждому ковенанту показаны денежный и процентный запас до порога, связывающий ковенант и изменение результата в стрессовом сценарии. Можно увидеть, какой кредит первым потеряет запас и в каком квартале. |
Сводные элементы — группа, портфель, виды инструментов, группы ковенантов и годы — выведены на оси представлений. Это позволяет раскрывать итог до листового значения и одновременно сохранять правильную экономику свода:
Корректность витрин подтверждена поячеечной сверкой. По cov_fin проверено 4 600 значений, по cov_debt — 21 120, по ковенантному кубу в разрезе ковенантов и дат — 72 800, по узлам кредитов и заёмщиков — 36 040. Всего проверено 134 560 значений, включая листья, все узлы и ожидаемые пустые ячейки; расхождений — 0.
Первое — раннее предупреждение отделено от нарушения. Решение не ограничивается ответом «соблюдён / не соблюдён». Зона в 5 % от порога показывает приближение к нарушению. По срочному кредиту «Заря-Агро» на IV квартал 2026 года формально нет нарушения, но запас составляет только 18,7 млн ₽, или 2,0 % EBITDA.
Второе — статус объясняется договором и экономикой одновременно. В одной строке видны фактический показатель, порог на дату, запас и состояние. Поэтому можно отличить ухудшение бизнеса от срабатывания графика ужесточения. В I квартале 2027 года показатель «Чистый долг / EBITDA» лучше, чем кварталом ранее, но кредит нарушает ковенант из-за снижения порога с 4,00 до 3,50.
Третье — юридические последствия рассчитываются последовательно. Модель учитывает лимит внесения капитала, запрет двух исправлений подряд, собственный дефолт, сумму долга в дефолте и порог существенности каждого другого соглашения. Это позволяет показать не только первичное нарушение, но и распространение события по долговому портфелю одного заёмщика.
Четвёртое — сценарий пересчитывает всю цепочку, а не отдельный коэффициент. Снижение EBITDA и рост плавающей ставки меняют проценты, обслуживание долга, коэффициенты, состояние, возможность исправления и перекрёстный дефолт. На конец 2028 года долговая нагрузка группы меняется с 2,16 до 2,70, а три кредита, чистые в базовом сценарии, получают дефолт или перекрёстный дефолт в стрессовом.
Пятое — сводные значения не искажают экономический смысл. Долг за год не складывается четыре раза, отношения не суммируются, состояние не превращается в бессмысленное число, а договорные пороги не смешиваются. Например, чистый долг группы за 2026 год равен 9 291,6 млн ₽, то есть значению на 31 декабря, а не сумме квартальных остатков около 38 707 млн ₽.
Шестое — результат воспроизводим и проверен независимо. До записи на стенд выполнено 25 локальных контролей. На стенде сверены 134 560 значений без расхождений и пройдены 13 из 13 поведенческих проверок: временные цепочки, график ужесточения, перекрёстный дефолт, пороги существенности, свод запасов, повторный расчёт отношений и контроль запаса прочности. Полный прогон потребовал 343 обращения к платформе и завершился без замечаний.
Текущий контур не следует представлять как полную промышленную систему управления всеми кредитными договорами. Перекрёстный дефолт ограничен обязательствами одного заёмщика и не распространяется на группу по поручительствам. Внесение капитала не меняет баланс следующего квартала. На сводном узле сумма долга в дефолте представлена максимумом, а не портфельной суммой. Ставка моделируется как фиксированная договорная ставка с простым сценарным сдвигом для плавающих инструментов; полноценная кривая ставок не строится. Даты тестирования совпадают с календарными кварталами, без отдельного срока предоставления сертификата соблюдения. Эти ограничения прямо зафиксированы и не заменяются неподтверждённой функциональностью расширенного проекта.
Мы построили модель контроля ковенантов для агрохолдинга «Заря»: четыре заёмщика, семь кредитов и траншей, пять финансовых ковенантов, пятнадцать кварталов и два сценария. В модели связаны график долга, финансовые показатели заёмщика, договорные пороги, предупреждения, нарушения, внесение капитала, собственный и перекрёстный дефолт.
Ключевое отличие — порог хранится как договорный факт по кредиту и дате, а не как константа в формуле. Поэтому система объясняет, почему изменился статус. По срочному кредиту «Заря-Агро» показатель «Чистый долг / EBITDA» улучшается с 3,92 до 3,70, но кредит переходит из предупреждения в нарушение, потому что порог ужесточается с 4,00 до 3,50.
Для этого кредита модель рассчитывает два внесения капитала — 55,1 и 39,3 млн ₽, всего 94,4 млн ₽. После исчерпания доступного механизма нарушение I квартала 2028 года становится дефолтом. Затем система проверяет остальные обязательства того же заёмщика: возобновляемая линия, не нарушавшая собственных ковенантов, получает перекрёстный дефолт из-за события по срочному кредиту.
Стрессовый сценарий снижает EBITDA на 20 % и повышает плавающие ставки на 3 процентных пункта. На конец 2028 года показатель «Чистый долг / EBITDA» группы меняется с 2,16 в базовом сценарии до 2,70 в стрессовом, а три кредита, проходящие базовый сценарий, получают дефолт или перекрёстный дефолт в стрессе.
Для финансового директора это означает единый, объяснимый и проверяемый контур: от остатка каждого кредита и показателей заёмщика до договорного теста и юридического события. На стенд загружено 2 100 исходных адресов, 50 из 60 мер рассчитываются движком, создано 88 правил и четыре листа рабочей книги. Поячеечно сверено 134 560 значений на детальных и сводных уровнях; расхождений нет. При этом мы заявляем только тот контур, который действительно построен и проверен, и отдельно фиксируем ограничения, которые ещё не реализованы.