M2.1: граф новой сети, расходы и минимальные ДУ по путям
Следующий пакет после M1: для подготовленного дерева новой сети вычисляются расходы и минимальные ДУ по APP-2026-09-19. Ствол 100 м и две ветви по 80 м проверяются как два пути по 180 м; расход 3 т/ч на 300 м требует ДУ80.
M1 уже принят в main через !35 (merged) (merge commit 99e10032fda3909d4891c2f0f9fcc3e041b7c23d). Ветка M2.1 обновлена от main без изменения файлов; diff MR содержит только M2.1. По поручению пользователя MR слит в main после успешного CI #9714. Итоговый main cc8433fbe0a55d0c87d5d6a681ff5167bb49508e проверен pipeline #9718: все 6 заданий успешны, 113 Java-тестов и 59 обязательных регрессий. Содержимое файлов при слиянии не изменилось; полная конкурсная приёмка остаётся незавершённой.
- NetworkDraft / NetworkSizing: один путь присоединения, отсутствие циклов, проверка пересечений и концов, степеней камер/technical_node и поворотов до 90°. Направление записи геометрии не задаёт направление потока.
- Расходы складываются точно через BigDecimal; ID сохраняют типы. Все 18 ДУ перебираются с учётом пропускной способности, монотонности к старой сети и максимального непрерывного пути. Камеры и technical_node не сбрасывают длину при неизменном расходе.
- ДУ новой камеры включает максимум старых и новых примыканий; реконструкция старой сети не вычисляется.
- 30 новых тестов: текущая таблица, границы, независимый перебор 18³ назначений на 25 деревьях, 4000 рёбер, 35 целей по 0.1 т/ч, порядок/направление/typed ID, негативные геометрические случаи и отмена. В CI закреплён общий каталог ci/current-regressions.json.
- Обновлены текущие документы. Точные допуски и инженерный предел десятичной арифметики описаны в docs/current/m2-network-sizing.md.
Проверки: pipeline #9709 успешно выполнил все 6 заданий на commit 3bde41601739e25b646162f7342a1c3d2dcdedaf: CI self-test, документационные контракты, Maven, Gradle, инспекция Java-артефакта и запуск сервиса с PostgreSQL. Отчёт инспекции подтверждает 113 выполненных Java-тестов и все 59 обязательных регрессионных тестов M1/M2.1. Локально также пройдены 91 тест CI, 15 документационных тестов и 987/987 проверок документации. Проверка запуска относится к M1; отчёты сохраняют product_accepted: false и solver_status: MIGRATION_REQUIRED.
Границы: M2.1 — внутренний модуль проверки и расчёта уже подготовленного графа. Генерация трасс, препятствия/собственный подход к ОКС, геометрический выбор присоединения и правило 10 м остаются M2.2; стоимость и экспорт — M3. HTTP jobs остаётся заблокирован, полной конкурсной готовности нет. Геометрическое число старых примыканий пока передаёт будущий генератор кандидатов. NQ-05 требует инженерного просмотра. Статусы приёмки остаются NOT_VERIFIED до M4.
Beads повторно отклонил сохранённый SSH-ключ. Назначения и статусы задач не менялись; локальная замена трекера не создавалась.