perf: index polygon boundaries for routing
Принятое решение по актуальности — 20.09.2026
Сохранить оптимизацию границ. Проверить новые геометрические случаи и согласованные численные допуски; прежняя эквивалентность старому алгоритму не доказывает новые правила.
Основание: APP-2026-09-19, аудит исходной версии 6dd59e9e9b462bfd8c90e93f8ad141003efca3d7 относительно main 43e20364f00101c7d61642dbcfa349c8f0b14ba4. Рекомендации приняты владельцем проекта; фиксация разрешена командой «Фиксируем».
Связанные задачи общего Beads trasser:
-
trasser-core01— [CORE01] Реализовать граф и геометрию кандидатов; исполнительKael08. -
trasser-core06— [CORE06] Реализовать специальные пересечения; исполнительKael08. -
trasser-org06a— [ORG06a] Зафиксировать правила численных сравнений; исполнительrylengim.
Полный реестр: trasser-data01, trasser-plan-20260920. Перенос выполнять в рамках существующих критериев задач; сохранять ссылку на исходную версию и прикладывать проверки нового кандидата. После подтверждённого переноса старые MR можно закрывать как заменённые. Для !32 (closed) уже опубликован нормативный пакет через !33 (merged); остатки старой реализации/CI рассматриваются отдельно.
Проверка актуальности была статической, с чтением существующего CI; новых испытаний приложения не было. Принятие рекомендаций не является приёмкой кода. Исторические описания и результаты ниже сохранены; их PASS не подтверждает новый baseline. Фиксация не меняет ветки, состояние MR, назначения или личные решения проверяющих.
При проверке пересечений дорог выполнялся повторный JTS overlay даже для заведомо неколлинеарных сегментов. Добавлен индекс границ полигонов в пределах одного расчёта: невозможные наложения исключаются, остальные используют прежнюю операцию и допуск. На контрольном входе 4096 целей job изменился с 249.53 до 177.26 с; это единичное наблюдение. Подтверждено совпадение GeoJSON, стоимости, полного checks/summary и completion на сопоставимых завершённых входах. Проверки: 196 Java-тестов, 137 самопроверок CI, документация и стендовые протоколы. Плотные входы сохраняют CHECKS_RESOURCE_LIMIT независимого валидатора; лимиты не повышались, product_accepted=false. Целевая ветка — codex/r1-tie-index (MR !26 (closed)). Подробности: docs/runtime-contracts/r1-polygon-boundary.md.