Повторно подключать цели после построения общих ветвей
Ранняя цель могла исчерпать поиск до появления пригодной общей ветви; после построения остальных подключений отказ не пересматривался. Добавлен один повторный проход по SEARCH_BUDGET_EXHAUSTED в стратегиях общих ветвей.
Общий бюджет цели сохраняется. Альтернативные стратегии оставляют четверть maxSearchNodes на повторную попытку после построения сети; первичные стратегии сохраняют прежнюю глубину поиска. При успехе удаляются устаревшие отказ и диагностика, расходы бюджета суммируются за оба прохода. Каждое присоединение повторно проверяет весь изменённый граф и диаметры. Нормативные правила и независимый верификатор не менялись.
Исторический прогон da1a780b на исходном городском наборе, SOURCE_20260919 и бюджете 8000 (после обновления базы не повторялся):
- новый rank 1: 12/17 подключений, score 28.898961254144353;
- прежний вариант с 11/17 и score 31.493814310588078 сохранён на rank 2;
- новый вариант подключает 6/8, но не 15, которую подключает второй вариант;
- отказы нового лучшего варианта: 2/5/10/16 по геометрии подхода, 15 по бюджету.
Полный портфель прошёл штатный отбор и независимый верификатор без ERROR и отвергнутых вариантов. Отдельный прогон на классах и библиотеках собранного JAR дал те же результаты. Это функциональная диагностика, не замер быстродействия, не доказательство глобальной оптимальности и не полная конкурсная приёмка.
Три регрессии SharedBranchRecoveryTest проверяют восстановление раннего отказа через позднюю ветвь, непроходимое замкнутое препятствие, очистку диагностики и отсутствие дубликатов, общий бюджет 1/4/31/128. Положительный сценарий падает на исходной реализации; проверены перенос, повороты 0/90/180°, перестановка объектов и независимый экспортный валидатор.
Проверки актуализации 24.09.2026:
- Актуальная !55 (merged) (94e8f175) включена merge-коммитом f1a47665. Алгоритм повторного прохода при разрешении конфликта не переписывался.
- Каталог содержит 193 уникальные регрессии: записи обеих сторон сохранены без потерь. GitLab не сообщает конфликт с целевой веткой.
- Локально Maven/JDK17: 89/89 целевых тестов, failures/errors/skipped=0; проверки CI-покрытия 16/16 PASS.
- MR pipeline #10244 на SHA f1a47665 завершён успешно: 8/8 обязательных jobs PASS; Maven/Gradle по 246 тестов без ошибок и пропусков, 265 Python-тестов, 1114 проверок документации и 16 документационных тестов. current:coverage подтвердил выполнение всех 193 обязательных регрессий; java:inspect и delivery:smoke PASS. Полная независимая приёмка проекта остаётся открытой.
Исторические идентификаторы функциональной диагностики выше: commit da1a780b; локальный JAR SHA-256 021f09747af211c5e26af232340e8798758a882e98db18a08c9d7273e8162d9b; датасет SHA-256 cffb7133419d93fe364a53015a7d3ead289f671cbfaf6f4befe87f2a21914130. Эти результаты не подменяют новый прогон обновлённой сборки.
Зависимость: !55 (merged), после !52 (merged)–!54 (merged). Target codex/route-search-completeness-20260922. MR не слит, main не менялся. Полная независимая приёмка и инженерный просмотр остаются открытыми. Общий сервер Beads trasser доступен; результат записывается в trasser-core01, личная приёмка не подменяется.