症状
LHT/道路遷移バグ修正プログラムのタスクB(ルート枯渇ループ)はコード根拠のみで修正済み・実シナリオ未再現の状態。「直った」と断定できていない。
修正内容(commit ee9d825b, 2026-07-15):
Route::IsValid() が !invalid_route_(構築妥当性)のみを見て、ルートを走り切った後も true を返す → ジャンクション選択でルート分岐に入り続け、connection_idx=0(XODR記載順の先頭コネクション)を無条件採用してしまう経路を OnRoute() + 非nullターゲットでゲート。
pos_save が MoveToConnectingRoad 後に取得されるため heading反転を巻き戻せない問題 → 遷移前スナップショットを別途取得し復元に使用。
再現手順
未再現。ルートを走り切った(枯渇した)後にジャンクションへ進入する状況を再現するシナリオが必要(ルート終点をジャンクション手前に置いた xosc + RouteDrive/VD)。
診断支援: 環境変数 GT_DIAG_ROAD_TRANSITIONS=1(タスクC、既定OFF)で flip/rollback/ds-flip が road/lane/s/h_relative 付きWARNで出る。
やること
関連ID(名前空間付き)
fork-marker:GT_LHT commit:ee9d825b
検出できるはずのゲート
regression (behavioral batch) — 現状は該当シナリオが無いため検出不能
関連しうる報告: #30(RouteDriveの道路逆端ジャンプ)、#31(VD交差点直進/左折交互誤判定)— いずれも同じ道路遷移/ルート選択系の可能性
症状
LHT/道路遷移バグ修正プログラムのタスクB(ルート枯渇ループ)はコード根拠のみで修正済み・実シナリオ未再現の状態。「直った」と断定できていない。
修正内容(commit ee9d825b, 2026-07-15):
Route::IsValid()が!invalid_route_(構築妥当性)のみを見て、ルートを走り切った後も true を返す → ジャンクション選択でルート分岐に入り続け、connection_idx=0(XODR記載順の先頭コネクション)を無条件採用してしまう経路をOnRoute()+ 非nullターゲットでゲート。pos_saveがMoveToConnectingRoad後に取得されるため heading反転を巻き戻せない問題 → 遷移前スナップショットを別途取得し復元に使用。再現手順
未再現。ルートを走り切った(枯渇した)後にジャンクションへ進入する状況を再現するシナリオが必要(ルート終点をジャンクション手前に置いた xosc + RouteDrive/VD)。
診断支援: 環境変数
GT_DIAG_ROAD_TRANSITIONS=1(タスクC、既定OFF)で flip/rollback/ds-flip が road/lane/s/h_relative 付きWARNで出る。やること
関連ID(名前空間付き)
fork-marker:GT_LHT commit:ee9d825b
検出できるはずのゲート
regression (behavioral batch) — 現状は該当シナリオが無いため検出不能
関連しうる報告: #30(RouteDriveの道路逆端ジャンプ)、#31(VD交差点直進/左折交互誤判定)— いずれも同じ道路遷移/ルート選択系の可能性