Skip to content

fix: align score and OKS routing with organizer rules

am@muniev.ru requested to merge codex/organizer-score-oks into main

Исправлены две регрессии, подтверждённые независимой проверкой диагностического стенда:

  • ORG-09: score использует вес длины 0,7 и стоимости 0,3. Численный тест проверяет результат и выбор более короткого, но более дорогого варианта.
  • ORG-04: геометрия ОКС не блокирует точку подключения и не становится препятствием маршруту. Координаты точки сохраняются; невалидная геометрия по-прежнему отклоняется.

Добавлены регрессионные тесты импорта, маршрутизации, расчёта score и STRICT API: равенство вариантов/экспорта с ОКС и без него, порядок альтернатив и отклонение невалидного ОКС. Диагностика отсутствующих инженерных атрибутов сохранена. allowTerminalInsideOks оставлен как игнорируемое поле совместимости. Описание: docs/organizer-runtime-regressions.md.

Проверка завершена:

  • MR pipeline #9325: 5/5 success.
  • Сборка и деплой main #9327: 6/6 success, commit b9af3f91.
  • 58 Java-тестов на Java 11, 64 теста CI, 680 документных проверок; JAR сборки и стенда совпадает по SHA-256.
  • На обновлённом стенде повторены шесть API-сценариев. Независимый Python-валидатор: 112 PASS, 0 FAIL, 2 NOT_VERIFIED (полная смета исследовательских вариантов без исходных данных). Количество утверждений не является процентом покрытия ТЗ.
  • Строгий контроль с ОКС теперь COMPLETED / экспорт 200, его варианты и маршрут совпадают с контролем без ОКС. Score 0.810955127941149 совпадает с независимым пересчётом. Невалидная геометрия возвращает 422 INVALID_DATA.
  • Полный синтетический вход остаётся FAILED в STRICT с 77 обоснованными диагностиками недостающих расходов, upstream, диаметров камер и правила железной дороги; прежние 17 геометрических блокеров ОКС устранены.

Границы: нормировочные знаменатели score требуют подтверждения ORG-Q07; глобальная оптимальность, полный актуальный выходной контракт и конкурсная приёмка не подтверждены. Для ранее загруженных проектов нужен новый импорт: историческая сохранённая диагностика автоматически не мигрируется. Локальные воспроизводимые доказательства: output/trasser-organizer-fixes/REPORT.md и output/trasser-dataset-run-fixed/.

Edited by am@muniev.ru

Merge request reports

Loading