概要
GT が上流の OSIReporter.cpp / RoadManager.cpp を無条件スワップ(GT_OSIReporter.cpp / GT_RoadManager.cpp)しているため、上流ユニットテスト群が GT 実装に対して走り、fork drift (GT フォークが古い上流ベースのままで、上流のリファクタを再同期していない)で 10 件が落ちる。CI 初緑化(issue #36 系)にあたり、これらは scripts/run_tests.sh の呼び出し側 --gtest_filter で暫定 skip した。本 issue はその OSIReporter / RoadManager 再同期 を追跡する。
関連: signal:osi(OSI canonical 観測量)、fork-sync lineages gt_osireporter / gt_roadmanager(check_fork_sync.py)、issue #31 / #35 (RoadManager 経路探索)。
根本原因(2026-07 精査)
上流は stationary-object / junction / geo-offset の OSI 生成を大幅リファクタ(road-info ri 構造体 + build_outline_polygon + z 式修正)したが、GT_OSIReporter.cpp は旧実装のまま。
ScenarioPlayer_test(9件、OSI.* / OSITunnel)
OSI.TestStationaryObjects / TestOrientationAndOutline / TestOutlineOfVariousObjectTypes
上流: set_z(ri.z + height/2)(road-info 経由、outline ベース height / label 刷新)
GT: set_z(object->GetZ() + object->GetZOffset() + object->GetHeight()/2) → z を二重計上 (上流期待 z=4 に対し GT は z=8 )。outline polygon / label(5_kalle 等)も未対応。
該当: GT_esmini/src/osi/GT_OSIReporter.cpp:817
OSI.TestDirectJunctions / TestLanePairingJunctionUnorderedRoads / TestGeoOffset / TestGeoOffsetIgnoreODROffset
上流 junction lane-pairing / geo-offset OSI 進化が未ポート → GT が上流よりオブジェクトを少なく出す → Debug protobuf ランタイムで repeated_field CHECK (index)<(current_size_) FATAL。
OSITunnelTestFixture.TestOSIBrokenRoadmarkCurve
上流 pending 0403645c "Fix wrong s-value of tunnel OSI points"(fork-sync gt_roadmanager lineage)未ポート。
TrafficSignals.TestTrafficSignalActions
GT 信号制御コントローラのタイミング差(終端 <0.03m で収束=機能的には正しいが 1e-3 過渡許容外)。
ScenarioEngine_test(1件)
RelativePositionRouting.TestRelativePositionWithRoutes
是正方針
GT_OSIReporter.cpp を上流 OSIReporter の ri / outline / z 式リファクタへ再同期(fork-sync 手順)。少なくとも stationary-object z の二重計上(z=8 バグ)は実出力バグなので優先。
tunnel OSI s-value fix(0403645c)を gt_roadmanager へポート。
routing 差異は issue VirtualDriver: 交差点直進ルート設定時にTraj予測が直進/左折を高速交互誤判定し不要な減速が発生 #31 / Position の road_id/s が road 終端で凍結し後続道路へ遷移しない(off-road-end staleness、#31 同族の可能性) #35 の経路探索是正と合流して評価。
再同期後、scripts/run_tests.sh の該当 --gtest_filter skip を解除し、上流テストをゲートへ復帰。
暫定対処(本 PR/commit)
scripts/run_tests.sh で上記 10 テストを invocation-site skip(上流テストソースは R1 pristine 維持)。CI test(windows) / test-no-external を緑化。
概要
GT が上流の
OSIReporter.cpp/RoadManager.cppを無条件スワップ(GT_OSIReporter.cpp/GT_RoadManager.cpp)しているため、上流ユニットテスト群が GT 実装に対して走り、fork drift(GT フォークが古い上流ベースのままで、上流のリファクタを再同期していない)で 10 件が落ちる。CI 初緑化(issue #36 系)にあたり、これらはscripts/run_tests.shの呼び出し側--gtest_filterで暫定 skip した。本 issue はその OSIReporter / RoadManager 再同期を追跡する。関連:
signal:osi(OSI canonical 観測量)、fork-sync lineagesgt_osireporter/gt_roadmanager(check_fork_sync.py)、issue #31 / #35(RoadManager 経路探索)。根本原因(2026-07 精査)
上流は stationary-object / junction / geo-offset の OSI 生成を大幅リファクタ(road-info
ri構造体 +build_outline_polygon+ z 式修正)したが、GT_OSIReporter.cppは旧実装のまま。ScenarioPlayer_test(9件、
OSI.*/OSITunnel)set_z(ri.z + height/2)(road-info 経由、outline ベース height / label 刷新)set_z(object->GetZ() + object->GetZOffset() + object->GetHeight()/2)→ z を二重計上(上流期待 z=4 に対し GT は z=8)。outline polygon / label(5_kalle等)も未対応。GT_esmini/src/osi/GT_OSIReporter.cpp:817repeated_field CHECK (index)<(current_size_)FATAL。0403645c "Fix wrong s-value of tunnel OSI points"(fork-sync gt_roadmanager lineage)未ポート。ScenarioEngine_test(1件)
GT_RoadManagerの route/lane 接続ロジック差異。object_[3] が X 約19m / Y 約10.7m / heading 約90° ズレ = GT の LHT / 右折レーン接続の経路探索領域(issue VirtualDriver: 交差点直進ルート設定時にTraj予測が直進/左折を高速交互誤判定し不要な減速が発生 #31 同族)。是正方針
GT_OSIReporter.cppを上流 OSIReporter のri/ outline / z 式リファクタへ再同期(fork-sync 手順)。少なくとも stationary-object z の二重計上(z=8 バグ)は実出力バグなので優先。0403645c)を gt_roadmanager へポート。scripts/run_tests.shの該当--gtest_filterskip を解除し、上流テストをゲートへ復帰。暫定対処(本 PR/commit)
scripts/run_tests.shで上記 10 テストを invocation-site skip(上流テストソースは R1 pristine 維持)。CI test(windows) / test-no-external を緑化。