inire/docs/optimization_pass_01_log.md

260 KiB

Optimization Pass 01 Log

This log records the step-by-step measurements for the first visibility-focused optimization pass. Each section is appended after a discrete code change using scripts/diff_performance_baseline.py.

Step 0 - Pre-optimization baseline

Measured on 2026-03-31T18:02:56-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Current default tangent-corner routing still pays for eager exact visibility-graph construction.
  • Visibility-build ray casts dominate all three hotspot scenarios before any routing changes.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_04_sbends_and_radii duration_s 1.9938 2.0940 +0.1002
example_04_sbends_and_radii nodes_expanded 15.0000 15.0000 +0.0000
example_04_sbends_and_radii visibility_builds 3.0000 3.0000 +0.0000
example_04_sbends_and_radii visibility_corner_pairs_checked 18148.0000 18148.0000 +0.0000
example_04_sbends_and_radii ray_cast_calls 18218.0000 18218.0000 +0.0000
example_04_sbends_and_radii ray_cast_calls_visibility_build 18148.0000 18148.0000 +0.0000
example_04_sbends_and_radii ray_cast_exact_geometry_checks 21265.0000 21265.0000 +0.0000
example_04_sbends_and_radii ray_cast_candidate_bounds 50717.0000 50717.0000 +0.0000
example_06_bend_collision_models duration_s 4.1186 4.2483 +0.1297
example_06_bend_collision_models nodes_expanded 240.0000 240.0000 +0.0000
example_06_bend_collision_models visibility_builds 6.0000 6.0000 +0.0000
example_06_bend_collision_models visibility_corner_pairs_checked 39848.0000 39848.0000 +0.0000
example_06_bend_collision_models ray_cast_calls 40530.0000 40530.0000 +0.0000
example_06_bend_collision_models ray_cast_calls_visibility_build 39848.0000 39848.0000 +0.0000
example_06_bend_collision_models ray_cast_exact_geometry_checks 36858.0000 36858.0000 +0.0000
example_06_bend_collision_models ray_cast_candidate_bounds 121732.0000 121732.0000 +0.0000
example_07_large_scale_routing duration_s 1.3734 1.4031 +0.0297
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_builds 11.0000 11.0000 +0.0000
example_07_large_scale_routing visibility_corner_pairs_checked 10768.0000 10768.0000 +0.0000
example_07_large_scale_routing ray_cast_calls 11151.0000 11151.0000 +0.0000
example_07_large_scale_routing ray_cast_calls_visibility_build 10768.0000 10768.0000 +0.0000
example_07_large_scale_routing ray_cast_exact_geometry_checks 11651.0000 11651.0000 +0.0000
example_07_large_scale_routing ray_cast_candidate_bounds 21198.0000 21198.0000 +0.0000

Step 1 - Lazy visibility state split

Measured on 2026-03-31T18:05:49-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Corner-index rebuilds are now measured separately from exact visibility-graph builds.
  • Default tangent-corner routing still triggers exact graph work at query time, so visibility-build counters remain hot in this step.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_04_sbends_and_radii duration_s 1.9938 0.2543 -1.7395
example_04_sbends_and_radii nodes_expanded 15.0000 15.0000 +0.0000
example_04_sbends_and_radii visibility_corner_index_builds - 2.0000 -
example_04_sbends_and_radii visibility_builds 3.0000 2.0000 -1.0000
example_04_sbends_and_radii visibility_corner_pairs_checked 18148.0000 1892.0000 -16256.0000
example_04_sbends_and_radii ray_cast_calls 18218.0000 1962.0000 -16256.0000
example_04_sbends_and_radii ray_cast_calls_visibility_build 18148.0000 1892.0000 -16256.0000
example_04_sbends_and_radii ray_cast_exact_geometry_checks 21265.0000 2445.0000 -18820.0000
example_04_sbends_and_radii ray_cast_candidate_bounds 50717.0000 3864.0000 -46853.0000
example_06_bend_collision_models duration_s 4.1186 0.2055 -3.9131
example_06_bend_collision_models nodes_expanded 240.0000 240.0000 +0.0000
example_06_bend_collision_models visibility_corner_index_builds - 3.0000 -
example_06_bend_collision_models visibility_builds 6.0000 3.0000 -3.0000
example_06_bend_collision_models visibility_corner_pairs_checked 39848.0000 396.0000 -39452.0000
example_06_bend_collision_models ray_cast_calls 40530.0000 1078.0000 -39452.0000
example_06_bend_collision_models ray_cast_calls_visibility_build 39848.0000 396.0000 -39452.0000
example_06_bend_collision_models ray_cast_exact_geometry_checks 36858.0000 0.0000 -36858.0000
example_06_bend_collision_models ray_cast_candidate_bounds 121732.0000 877.0000 -120855.0000
example_07_large_scale_routing duration_s 1.3734 1.3958 +0.0224
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_corner_index_builds - 10.0000 -
example_07_large_scale_routing visibility_builds 11.0000 10.0000 -1.0000
example_07_large_scale_routing visibility_corner_pairs_checked 10768.0000 10768.0000 +0.0000
example_07_large_scale_routing ray_cast_calls 11151.0000 11151.0000 +0.0000
example_07_large_scale_routing ray_cast_calls_visibility_build 10768.0000 10768.0000 +0.0000
example_07_large_scale_routing ray_cast_exact_geometry_checks 11651.0000 11651.0000 +0.0000
example_07_large_scale_routing ray_cast_candidate_bounds 21198.0000 21198.0000 +0.0000

Step 2 - Tangent-corner cheap path

Measured on 2026-03-31T18:06:53-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Default tangent-corner expansion now uses only the corner index and never requests the exact corner graph.
  • The expected win is zero visibility-build ray casts in the hotspot trio while keeping node counts stable.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_04_sbends_and_radii duration_s 1.9938 0.0280 -1.9659
example_04_sbends_and_radii nodes_expanded 15.0000 15.0000 +0.0000
example_04_sbends_and_radii visibility_corner_index_builds - 2.0000 -
example_04_sbends_and_radii visibility_builds 3.0000 0.0000 -3.0000
example_04_sbends_and_radii visibility_corner_pairs_checked 18148.0000 0.0000 -18148.0000
example_04_sbends_and_radii ray_cast_calls 18218.0000 70.0000 -18148.0000
example_04_sbends_and_radii ray_cast_calls_visibility_build 18148.0000 0.0000 -18148.0000
example_04_sbends_and_radii ray_cast_exact_geometry_checks 21265.0000 0.0000 -21265.0000
example_04_sbends_and_radii ray_cast_candidate_bounds 50717.0000 4.0000 -50713.0000
example_06_bend_collision_models duration_s 4.1186 0.1900 -3.9286
example_06_bend_collision_models nodes_expanded 240.0000 240.0000 +0.0000
example_06_bend_collision_models visibility_corner_index_builds - 3.0000 -
example_06_bend_collision_models visibility_builds 6.0000 0.0000 -6.0000
example_06_bend_collision_models visibility_corner_pairs_checked 39848.0000 0.0000 -39848.0000
example_06_bend_collision_models ray_cast_calls 40530.0000 682.0000 -39848.0000
example_06_bend_collision_models ray_cast_calls_visibility_build 39848.0000 0.0000 -39848.0000
example_06_bend_collision_models ray_cast_exact_geometry_checks 36858.0000 0.0000 -36858.0000
example_06_bend_collision_models ray_cast_candidate_bounds 121732.0000 97.0000 -121635.0000
example_07_large_scale_routing duration_s 1.3734 0.2042 -1.1693
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_corner_index_builds - 10.0000 -
example_07_large_scale_routing visibility_builds 11.0000 0.0000 -11.0000
example_07_large_scale_routing visibility_corner_pairs_checked 10768.0000 0.0000 -10768.0000
example_07_large_scale_routing ray_cast_calls 11151.0000 383.0000 -10768.0000
example_07_large_scale_routing ray_cast_calls_visibility_build 10768.0000 0.0000 -10768.0000
example_07_large_scale_routing ray_cast_exact_geometry_checks 11651.0000 150.0000 -11501.0000
example_07_large_scale_routing ray_cast_candidate_bounds 21198.0000 683.0000 -20515.0000

Step 3 - Final optimized baseline

Measured on 2026-03-31T18:08:19-07:00. Baseline: /tmp/inire_pre_optimization_baseline.json.

Findings:

  • Committed baseline artifacts were regenerated from the optimized router after the tangent-corner change landed.
  • The hotspot trio now reaches the same node counts with zero exact visibility-graph builds in default tangent-corner mode.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_04_sbends_and_radii duration_s 1.9938 0.0279 -1.9659
example_04_sbends_and_radii nodes_expanded 15.0000 15.0000 +0.0000
example_04_sbends_and_radii visibility_corner_index_builds - 2.0000 -
example_04_sbends_and_radii visibility_builds 3.0000 0.0000 -3.0000
example_04_sbends_and_radii visibility_corner_pairs_checked 18148.0000 0.0000 -18148.0000
example_04_sbends_and_radii ray_cast_calls 18218.0000 70.0000 -18148.0000
example_04_sbends_and_radii ray_cast_calls_visibility_build 18148.0000 0.0000 -18148.0000
example_04_sbends_and_radii ray_cast_exact_geometry_checks 21265.0000 0.0000 -21265.0000
example_04_sbends_and_radii ray_cast_candidate_bounds 50717.0000 4.0000 -50713.0000
example_06_bend_collision_models duration_s 4.1186 0.1900 -3.9286
example_06_bend_collision_models nodes_expanded 240.0000 240.0000 +0.0000
example_06_bend_collision_models visibility_corner_index_builds - 3.0000 -
example_06_bend_collision_models visibility_builds 6.0000 0.0000 -6.0000
example_06_bend_collision_models visibility_corner_pairs_checked 39848.0000 0.0000 -39848.0000
example_06_bend_collision_models ray_cast_calls 40530.0000 682.0000 -39848.0000
example_06_bend_collision_models ray_cast_calls_visibility_build 39848.0000 0.0000 -39848.0000
example_06_bend_collision_models ray_cast_exact_geometry_checks 36858.0000 0.0000 -36858.0000
example_06_bend_collision_models ray_cast_candidate_bounds 121732.0000 97.0000 -121635.0000
example_07_large_scale_routing duration_s 1.3734 0.2004 -1.1730
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_corner_index_builds - 10.0000 -
example_07_large_scale_routing visibility_builds 11.0000 0.0000 -11.0000
example_07_large_scale_routing visibility_corner_pairs_checked 10768.0000 0.0000 -10768.0000
example_07_large_scale_routing ray_cast_calls 11151.0000 383.0000 -10768.0000
example_07_large_scale_routing ray_cast_calls_visibility_build 10768.0000 0.0000 -10768.0000
example_07_large_scale_routing ray_cast_exact_geometry_checks 11651.0000 150.0000 -11501.0000
example_07_large_scale_routing ray_cast_candidate_bounds 21198.0000 683.0000 -20515.0000

Step 4 - Tangent candidate scan baseline

Measured on 2026-03-31T18:33:15-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The next hotspot is tangent-corner candidate scanning, especially example_02 and example_07.
  • This baseline captures current candidate-check volume before narrowing the corner-index query window.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3365 0.3321 -0.0044
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution visibility_tangent_candidate_scans 363.0000 363.0000 +0.0000
example_02_congestion_resolution visibility_tangent_candidate_corner_checks 18991.0000 18991.0000 +0.0000
example_02_congestion_resolution visibility_tangent_candidate_ray_tests 253.0000 253.0000 +0.0000
example_02_congestion_resolution ray_cast_calls 1164.0000 1164.0000 +0.0000
example_02_congestion_resolution danger_map_lookup_calls 2208.0000 2208.0000 +0.0000
example_02_congestion_resolution score_component_calls 976.0000 976.0000 +0.0000
example_05_orientation_stress duration_s 0.2503 0.2404 -0.0099
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress visibility_tangent_candidate_scans 280.0000 280.0000 +0.0000
example_05_orientation_stress visibility_tangent_candidate_corner_checks 1483.0000 1483.0000 +0.0000
example_05_orientation_stress visibility_tangent_candidate_ray_tests 9.0000 9.0000 +0.0000
example_05_orientation_stress ray_cast_calls 1243.0000 1243.0000 +0.0000
example_05_orientation_stress danger_map_lookup_calls 2079.0000 2079.0000 +0.0000
example_05_orientation_stress score_component_calls 1198.0000 1198.0000 +0.0000
example_07_large_scale_routing duration_s 0.2034 0.1962 -0.0072
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_tangent_candidate_scans 68.0000 68.0000 +0.0000
example_07_large_scale_routing visibility_tangent_candidate_corner_checks 34735.0000 34735.0000 +0.0000
example_07_large_scale_routing visibility_tangent_candidate_ray_tests 77.0000 77.0000 +0.0000
example_07_large_scale_routing ray_cast_calls 383.0000 383.0000 +0.0000
example_07_large_scale_routing danger_map_lookup_calls 681.0000 681.0000 +0.0000
example_07_large_scale_routing score_component_calls 291.0000 291.0000 +0.0000

Step 5 - Tangent candidate strip query

Measured on 2026-03-31T18:34:10-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tangent-corner candidate collection now queries orientation-aware radius strips instead of scanning a full square around each search state.
  • The main acceptance signal is lower tangent corner checks with unchanged node counts and route outcomes.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3365 0.3361 -0.0004
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution visibility_tangent_candidate_scans 363.0000 363.0000 +0.0000
example_02_congestion_resolution visibility_tangent_candidate_corner_checks 18991.0000 873.0000 -18118.0000
example_02_congestion_resolution visibility_tangent_candidate_ray_tests 253.0000 253.0000 +0.0000
example_02_congestion_resolution ray_cast_calls 1164.0000 1164.0000 +0.0000
example_02_congestion_resolution danger_map_lookup_calls 2208.0000 2208.0000 +0.0000
example_02_congestion_resolution score_component_calls 976.0000 976.0000 +0.0000
example_05_orientation_stress duration_s 0.2503 0.2500 -0.0003
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress visibility_tangent_candidate_scans 280.0000 280.0000 +0.0000
example_05_orientation_stress visibility_tangent_candidate_corner_checks 1483.0000 70.0000 -1413.0000
example_05_orientation_stress visibility_tangent_candidate_ray_tests 9.0000 9.0000 +0.0000
example_05_orientation_stress ray_cast_calls 1243.0000 1243.0000 +0.0000
example_05_orientation_stress danger_map_lookup_calls 2079.0000 2079.0000 +0.0000
example_05_orientation_stress score_component_calls 1198.0000 1198.0000 +0.0000
example_07_large_scale_routing duration_s 0.2034 0.1874 -0.0160
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing visibility_tangent_candidate_scans 68.0000 68.0000 +0.0000
example_07_large_scale_routing visibility_tangent_candidate_corner_checks 34735.0000 321.0000 -34414.0000
example_07_large_scale_routing visibility_tangent_candidate_ray_tests 77.0000 77.0000 +0.0000
example_07_large_scale_routing ray_cast_calls 383.0000 383.0000 +0.0000
example_07_large_scale_routing danger_map_lookup_calls 681.0000 681.0000 +0.0000
example_07_large_scale_routing score_component_calls 291.0000 291.0000 +0.0000

Step 6 - Empty danger-map fast path

Measured on 2026-03-31T18:50:25-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Scoring now skips danger-map sampling when the KD-tree is empty, which should primarily help obstacle-free scenarios.
  • The no-warm-start example_07 variant is included as a canary; it is not part of the default baseline corpus, so baseline values may be absent on first measurement.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3325 0.3260 -0.0065
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution score_component_calls 976.0000 976.0000 +0.0000
example_02_congestion_resolution danger_map_lookup_calls 2208.0000 0.0000 -2208.0000
example_02_congestion_resolution danger_map_cache_hits 1433.0000 0.0000 -1433.0000
example_02_congestion_resolution danger_map_cache_misses 775.0000 0.0000 -775.0000
example_02_congestion_resolution warm_start_paths_built 3.0000 3.0000 +0.0000
example_02_congestion_resolution warm_start_paths_used 3.0000 3.0000 +0.0000
example_05_orientation_stress duration_s 0.2404 0.2375 -0.0029
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress score_component_calls 1198.0000 1198.0000 +0.0000
example_05_orientation_stress danger_map_lookup_calls 2079.0000 0.0000 -2079.0000
example_05_orientation_stress danger_map_cache_hits 1386.0000 0.0000 -1386.0000
example_05_orientation_stress danger_map_cache_misses 693.0000 0.0000 -693.0000
example_05_orientation_stress warm_start_paths_built 2.0000 2.0000 +0.0000
example_05_orientation_stress warm_start_paths_used 2.0000 2.0000 +0.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 7 - Verification baseline

Measured on 2026-03-31T19:00:03-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The next low-risk optimization target is redundant verification during refinement, especially in example_02.
  • The no-warm-start example_07 canary stays in the measurement set even though it is not part of the default baseline corpus.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3220 0.3304 +0.0084
example_02_congestion_resolution verify_path_report_calls 35.0000 35.0000 +0.0000
example_02_congestion_resolution refine_path_calls 3.0000 3.0000 +0.0000
example_02_congestion_resolution refinement_candidates_verified 26.0000 26.0000 +0.0000
example_02_congestion_resolution refinement_candidates_accepted 2.0000 2.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution warm_start_paths_built 3.0000 3.0000 +0.0000
example_02_congestion_resolution warm_start_paths_used 3.0000 3.0000 +0.0000
example_05_orientation_stress duration_s 0.2340 0.2348 +0.0008
example_05_orientation_stress verify_path_report_calls 12.0000 12.0000 +0.0000
example_05_orientation_stress refine_path_calls 3.0000 3.0000 +0.0000
example_05_orientation_stress refinement_candidates_verified 0.0000 0.0000 +0.0000
example_05_orientation_stress refinement_candidates_accepted 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress warm_start_paths_built 2.0000 2.0000 +0.0000
example_05_orientation_stress warm_start_paths_used 2.0000 2.0000 +0.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 8 - Deferred refinement verification

Measured on 2026-03-31T19:02:46-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Per-net verification inside _refine_results() is now deferred to the final verification pass to avoid verifying the same refined path twice.
  • The main expected signal is fewer verify_path_report_calls with unchanged route outcomes.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3220 0.3273 +0.0052
example_02_congestion_resolution verify_path_report_calls 35.0000 32.0000 -3.0000
example_02_congestion_resolution refine_path_calls 3.0000 3.0000 +0.0000
example_02_congestion_resolution refinement_candidates_verified 26.0000 26.0000 +0.0000
example_02_congestion_resolution refinement_candidates_accepted 2.0000 2.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution warm_start_paths_built 3.0000 3.0000 +0.0000
example_02_congestion_resolution warm_start_paths_used 3.0000 3.0000 +0.0000
example_05_orientation_stress duration_s 0.2340 0.2350 +0.0011
example_05_orientation_stress verify_path_report_calls 12.0000 9.0000 -3.0000
example_05_orientation_stress refine_path_calls 3.0000 3.0000 +0.0000
example_05_orientation_stress refinement_candidates_verified 0.0000 0.0000 +0.0000
example_05_orientation_stress refinement_candidates_accepted 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress warm_start_paths_built 2.0000 2.0000 +0.0000
example_05_orientation_stress warm_start_paths_used 2.0000 2.0000 +0.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 9 - Dynamic rtree for congestion and verification

Measured on 2026-03-31T20:12:56-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Dynamic congestion confirmation and dynamic-path verification now use the mutable rtree index instead of rebuilding a transient STRtree.
  • The expected signal is dynamic_tree_rebuilds dropping to zero on the normal corpus while route outcomes stay unchanged.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3211 0.3273 +0.0062
example_02_congestion_resolution dynamic_tree_rebuilds 6.0000 0.0000 -6.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_02_congestion_resolution verify_path_report_calls 32.0000 32.0000 +0.0000
example_02_congestion_resolution verify_dynamic_exact_pair_checks 90.0000 130.0000 +40.0000
example_05_orientation_stress duration_s 0.2351 0.2324 -0.0028
example_05_orientation_stress dynamic_tree_rebuilds 10.0000 0.0000 -10.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 66.0000 68.0000 +2.0000
example_05_orientation_stress verify_path_report_calls 9.0000 9.0000 +0.0000
example_05_orientation_stress verify_dynamic_exact_pair_checks 2.0000 4.0000 +2.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 10 - Incremental dynamic congestion grid

Measured on 2026-03-31T20:29:38-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Dynamic path removal is now net-owned and the congestion grid is updated incrementally instead of being invalidated and rebuilt.
  • The expected signal is dynamic_grid_rebuilds dropping to zero and better performance on congestion-heavy or no-warm-start routing.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2394 0.2605 +0.0211
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 68.0000 68.0000 +0.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 412.0000 +0.0000
example_05_orientation_stress dynamic_grid_rebuilds 3.0000 0.0000 -3.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 11 - Per-polygon congestion broad phase

Measured on 2026-03-31T20:36:35-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion candidate collection now scans per dilated polygon bounds instead of the move-wide union bounds.
  • The main expected signal is fewer broad-phase candidate ids, especially on large dynamic-path states such as example_07 without warm start.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2541 0.2488 -0.0053
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids - 83.0000 -
example_05_orientation_stress congestion_exact_pair_checks 68.0000 70.0000 +2.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 412.0000 +0.0000
example_05_orientation_stress dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_07_large_scale_routing duration_s 0.1984 0.1867 -0.0118
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids - 0.0000 -
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_07_large_scale_routing dynamic_path_objects_added 88.0000 88.0000 +0.0000
example_07_large_scale_routing dynamic_path_objects_removed 44.0000 44.0000 +0.0000
example_07_large_scale_routing_no_warm_start added - - -

Step 12 - Cheap exact congestion predicates

Measured on 2026-03-31T20:47:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion and dynamic verification now use non-constructive overlap predicates instead of building intersection geometries for every exact pair check.
  • The no-warm-start example_07 canary now reports its current metrics directly in the log, which makes the congestion hot path measurable even though it is not part of the committed baseline corpus.
  • The canary runtime dropped materially with unchanged node and congestion counts, which confirms that exact confirmation cost was a major part of the remaining congestion overhead.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2541 0.2682 +0.0141
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids - 83.0000 -
example_05_orientation_stress congestion_exact_pair_checks 68.0000 70.0000 +2.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 412.0000 +0.0000
example_05_orientation_stress dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 109.2839 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 641300.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 1737551.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 1192907.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 5379.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 641300.0000 -
example_07_large_scale_routing_no_warm_start dynamic_grid_rebuilds - 0.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_added - 1601.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_removed - 1462.0000 -

Step 13 - Relevant-polygon exact congestion checks

Measured on 2026-03-31T21:03:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion candidate tracking now remembers which dilated move polygons produced each candidate object, so exact confirmation no longer retests candidates against unrelated polygons.
  • This slice was largely neutral in aggregate counters: the no-warm-start canary still spent most of its time in congestion, which means the next win had to come from reducing how often congestion is queried at all.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2523 0.2753 +0.0230
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 83.0000 83.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 70.0000 70.0000 +0.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 412.0000 +0.0000
example_05_orientation_stress dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 104.0661 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 641300.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 1737551.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 1208409.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 5379.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 641300.0000 -
example_07_large_scale_routing_no_warm_start dynamic_grid_rebuilds - 0.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_added - 1601.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_removed - 1462.0000 -

Step 14 - Self-collision before congestion

Measured on 2026-03-31T21:08:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Moves that self-intersect the ancestor chain are now rejected before congestion scoring, so the search no longer spends congestion work on moves that will be discarded anyway.
  • This is the first slice that materially cut congestion volume on the no-warm-start example_07 canary.
  • Relative to Step 13, the canary dropped from 641300 to 529038 congestion checks, from 1737551 to 1164421 candidate ids, and from 1208409 to 838008 exact pair checks while runtime improved from 104.07s to 102.02s.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2523 0.2662 +0.0139
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 412.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 83.0000 83.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 70.0000 70.0000 +0.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 412.0000 +0.0000
example_05_orientation_stress dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 102.0202 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 529038.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 1164421.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 838008.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 3933.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 529038.0000 -
example_07_large_scale_routing_no_warm_start dynamic_grid_rebuilds - 0.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_added - 1601.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_removed - 1462.0000 -

Step 15 - Uncongested dominance before congestion

Measured on 2026-03-31T21:18:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Admission now computes the uncongested component score before congestion and prunes moves that are already closed-set-dominated even with zero congestion penalty.
  • This slice materially reduced congestion misses without increasing score_component_calls, so it removed congestion work instead of shifting it into scoring.
  • Relative to Step 14, the no-warm-start example_07 canary dropped from 529038 to 344747 congestion checks, from 1164421 to 375624 candidate ids, and from 838008 to 314367 exact pair checks while runtime improved from 102.02s to 88.86s.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2494 0.2619 +0.0125
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 412.0000 213.0000 -199.0000
example_05_orientation_stress congestion_candidate_ids 83.0000 19.0000 -64.0000
example_05_orientation_stress congestion_exact_pair_checks 70.0000 18.0000 -52.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 412.0000 213.0000 -199.0000
example_05_orientation_stress dynamic_grid_rebuilds 0.0000 0.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_added 37.0000 37.0000 +0.0000
example_05_orientation_stress dynamic_path_objects_removed 25.0000 25.0000 +0.0000
example_05_orientation_stress score_component_calls 1198.0000 1198.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 88.8639 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 375624.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 314367.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 3300.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 344747.0000 -
example_07_large_scale_routing_no_warm_start dynamic_grid_rebuilds - 0.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_added - 1601.0000 -
example_07_large_scale_routing_no_warm_start dynamic_path_objects_removed - 1462.0000 -
example_07_large_scale_routing_no_warm_start score_component_calls - 534994.0000 -

Step 16 - Lazy congestion on pop (rejected)

Measured on 2026-03-31T23:55:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion resolution was moved from move generation to node pop, with penalized nodes requeued after their overlap count was resolved.
  • The first cut reduced raw congestion misses on the no-warm-start example_07 canary from 344747 to 331308, but runtime still regressed to about 99.00s and nodes expanded rose to 184853.
  • Tightening lazy-requeue bookkeeping did not recover the search-order penalty. A later measurement pushed the same canary to 153.63s, 247887 expanded nodes, 427874 congestion misses, and 166395 lazy requeues.
  • This pass was rejected and reverted. The remaining congestion misses appear structural, but optimistic unresolved nodes created too much extra search churn.

Step 17 - Grid-span congestion broad-phase cache

Measured on 2026-03-31T22:44:31-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion broad-phase candidate unions are now cached by queried grid-cell span within a single A* run.
  • The exact overlap cache still misses at the previous rate, but the new grid-span cache hits heavily on repeated local congestion probes.
  • Relative to the reverted Step 15 state, the no-warm-start example_07 canary improved from about 87.20s to 84.71s with unchanged nodes expanded and congestion check calls.
  • The canary's broad-phase work also dropped modestly, from 375624 to 364731 candidate ids and from 314367 to 305397 exact pair checks.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2386 0.2380 -0.0007
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress moves_generated 1624.0000 1624.0000 +0.0000
example_05_orientation_stress moves_added 681.0000 681.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_grid_span_cache_hits - 133.0000 -
example_05_orientation_stress congestion_grid_span_cache_misses - 22.0000 -
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1885 0.1841 -0.0044
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing moves_generated 372.0000 372.0000 +0.0000
example_07_large_scale_routing moves_added 227.0000 227.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_span_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_grid_span_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 84.8404 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start moves_generated - 857732.0000 -
example_07_large_scale_routing_no_warm_start moves_added - 348559.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 3300.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_hits - 199762.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_misses - 26740.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -

Step 18 - Net-envelope maintenance and counters

Measured on 2026-03-31T23:05:08-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Added per-net dynamic envelope state and public counters without changing congestion or verification query behavior yet.
  • The expected result for this slice is unchanged routing behavior; the new envelope counters should stay at zero until the broad phase starts using them.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2312 0.2343 +0.0031
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets - 0.0000 -
example_05_orientation_stress congestion_net_envelope_cache_hits - 0.0000 -
example_05_orientation_stress congestion_net_envelope_cache_misses - 0.0000 -
example_05_orientation_stress congestion_grid_span_cache_hits 133.0000 133.0000 +0.0000
example_05_orientation_stress congestion_grid_span_cache_misses 22.0000 22.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_05_orientation_stress verify_dynamic_candidate_nets - 0.0000 -
example_07_large_scale_routing duration_s 0.1858 0.1833 -0.0026
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_grid_span_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_span_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing verify_dynamic_candidate_nets - 0.0000 -
example_07_large_scale_routing_no_warm_start duration_s - 84.6663 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 0.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_hits - 0.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_misses - 0.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_hits - 199762.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_misses - 26740.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_candidate_nets - 0.0000 -

Step 19 - Route-time net-envelope broad phase

Measured on 2026-03-31T23:10:12-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion checks now query per-net dynamic envelopes before descending into cached per-object candidate sets.
  • Search order is unchanged in this slice; the acceptance signal is lower candidate-net and exact-pair work at the same node count.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2312 0.2443 +0.0131
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets - 15.0000 -
example_05_orientation_stress congestion_net_envelope_cache_hits - 133.0000 -
example_05_orientation_stress congestion_net_envelope_cache_misses - 22.0000 -
example_05_orientation_stress congestion_grid_span_cache_hits 133.0000 11.0000 -122.0000
example_05_orientation_stress congestion_grid_span_cache_misses 22.0000 4.0000 -18.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_05_orientation_stress verify_dynamic_candidate_nets - 0.0000 -
example_07_large_scale_routing duration_s 0.1858 0.1940 +0.0081
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_grid_span_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_span_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing verify_dynamic_candidate_nets - 0.0000 -
example_07_large_scale_routing_no_warm_start duration_s - 85.7274 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 557244.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_hits - 199762.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_misses - 26740.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_hits - 193229.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_misses - 25872.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_candidate_nets - 0.0000 -

Step 20 - Verification net-envelope broad phase

Measured on 2026-03-31T23:14:19-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Final verification now queries dynamic net envelopes before descending into per-object overlap checks.
  • This slice should leave routing search metrics stable and reduce dynamic verification scans when non-overlapping nets are present.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2312 0.2370 +0.0058
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets - 15.0000 -
example_05_orientation_stress congestion_net_envelope_cache_hits - 133.0000 -
example_05_orientation_stress congestion_net_envelope_cache_misses - 22.0000 -
example_05_orientation_stress congestion_grid_span_cache_hits 133.0000 11.0000 -122.0000
example_05_orientation_stress congestion_grid_span_cache_misses 22.0000 4.0000 -18.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_05_orientation_stress verify_dynamic_candidate_nets - 3.0000 -
example_05_orientation_stress verify_dynamic_exact_pair_checks 4.0000 4.0000 +0.0000
example_07_large_scale_routing duration_s 0.1858 0.1843 -0.0016
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_net_envelope_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_grid_span_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_span_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing verify_dynamic_candidate_nets - 158.0000 -
example_07_large_scale_routing verify_dynamic_exact_pair_checks 27.0000 24.0000 -3.0000
example_07_large_scale_routing_no_warm_start duration_s - 85.5035 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 557244.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_hits - 199762.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_misses - 26740.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_hits - 193229.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_misses - 25872.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_candidate_nets - 3723.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_exact_pair_checks - 1428.0000 -

Step 21 - Per-net grid occupancy before object descent

Measured on 2026-03-31T23:45:12-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Congestion checks now cache candidate net ids from dynamic grid occupancy before building the heavier per-span object unions.
  • On the no-warm-start example_07 canary, candidate nets fell materially from the prior net-envelope pass while nodes expanded and congestion check calls stayed flat.
  • Object-level candidate ids and exact pair checks stayed essentially unchanged, so the next likely win is a finer-grained dynamic structure per long net rather than more cache layering.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2327 0.2399 +0.0072
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_net_envelope_cache_hits 133.0000 133.0000 +0.0000
example_05_orientation_stress congestion_net_envelope_cache_misses 22.0000 22.0000 +0.0000
example_05_orientation_stress congestion_grid_net_cache_hits - 11.0000 -
example_05_orientation_stress congestion_grid_net_cache_misses - 4.0000 -
example_05_orientation_stress congestion_grid_span_cache_hits 11.0000 11.0000 +0.0000
example_05_orientation_stress congestion_grid_span_cache_misses 4.0000 4.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_05_orientation_stress verify_dynamic_candidate_nets 3.0000 3.0000 +0.0000
example_05_orientation_stress verify_dynamic_exact_pair_checks 4.0000 4.0000 +0.0000
example_07_large_scale_routing duration_s 0.1865 0.1881 +0.0015
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_net_envelope_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_net_envelope_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_net_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_grid_net_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_grid_span_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_grid_span_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing verify_dynamic_candidate_nets 158.0000 158.0000 +0.0000
example_07_large_scale_routing verify_dynamic_exact_pair_checks 24.0000 24.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 85.4211 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 386147.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_hits - 199762.0000 -
example_07_large_scale_routing_no_warm_start congestion_net_envelope_cache_misses - 26740.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_net_cache_hits - 193229.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_net_cache_misses - 25872.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_hits - 189741.0000 -
example_07_large_scale_routing_no_warm_start congestion_grid_span_cache_misses - 25579.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_candidate_nets - 3723.0000 -
example_07_large_scale_routing_no_warm_start verify_dynamic_exact_pair_checks - 1436.0000 -

Step 22 - Segmented per-net dynamic envelopes (rejected)

Measured on 2026-04-01T00:02:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Dynamic objects were grouped into small per-net segment envelopes and congestion/verification descended through those groups before raw object checks.
  • This was the first pass aimed at reducing object-level confirmation work directly, but it regressed the no-warm-start example_07 canary instead of helping it.
  • Relative to the accepted per-net grid-occupancy state, the canary worsened from about 85.36s to 99.81s, from 173498 to 187339 expanded nodes, from 344747 to 378630 congestion checks, and from 364731 to 392058 candidate ids.
  • The segment layer appears to have increased search churn and broad-phase overhead enough to outweigh any local pruning benefit, so this pass was rejected and reverted.

Step 23 - End-of-iteration reverify only

Measured on 2026-04-01T19:00:59-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Added full end-of-iteration reverify using final installed geometry before deciding whether negotiated congestion should continue.
  • This slice still reroutes every net every iteration; it only changes conflict truth and iteration metrics.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3241 0.3359 +0.0118
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_cache_misses 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls - 1.0000 -
example_02_congestion_resolution iteration_reverified_nets - 3.0000 -
example_02_congestion_resolution iteration_conflicting_nets - 0.0000 -
example_02_congestion_resolution iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2283 0.2312 +0.0029
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nets_carried_forward - 0.0000 -
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 213.0000 213.0000 +0.0000
example_05_orientation_stress iteration_reverify_calls - 2.0000 -
example_05_orientation_stress iteration_reverified_nets - 6.0000 -
example_05_orientation_stress iteration_conflicting_nets - 2.0000 -
example_05_orientation_stress iteration_conflict_edges - 1.0000 -
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1888 0.1921 +0.0032
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls - 1.0000 -
example_07_large_scale_routing iteration_reverified_nets - 10.0000 -
example_07_large_scale_routing iteration_conflicting_nets - 0.0000 -
example_07_large_scale_routing iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 85.3822 -
example_07_large_scale_routing_no_warm_start route_iterations - 15.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 150.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 0.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 173498.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 344747.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 344747.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 15.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverified_nets - 150.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 145.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 165.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 386147.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 364731.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 305397.0000 -

Step 24 - Early stop on stalled conflict graph

Measured on 2026-04-01T19:16:22-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Rejected selective reroute working-set policies after they made the no-warm-start canary dramatically slower.
  • Kept end-of-iteration reverify and now stop negotiated-congestion once the final conflict graph repeats twice with no structural change.
  • On the no-warm-start canary this cut runtime from about 85.9s to 5.45s, with route iterations dropping from 15 to 4 and congestion checks from 344747 to 12096.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3241 0.3460 +0.0219
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_cache_misses 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls - 1.0000 -
example_02_congestion_resolution iteration_reverified_nets - 3.0000 -
example_02_congestion_resolution iteration_conflicting_nets - 0.0000 -
example_02_congestion_resolution iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2283 0.3251 +0.0968
example_05_orientation_stress route_iterations 2.0000 3.0000 +1.0000
example_05_orientation_stress nets_routed 6.0000 9.0000 +3.0000
example_05_orientation_stress nets_carried_forward - 0.0000 -
example_05_orientation_stress nodes_expanded 286.0000 571.0000 +285.0000
example_05_orientation_stress congestion_check_calls 213.0000 306.0000 +93.0000
example_05_orientation_stress congestion_cache_misses 213.0000 306.0000 +93.0000
example_05_orientation_stress iteration_reverify_calls - 3.0000 -
example_05_orientation_stress iteration_reverified_nets - 9.0000 -
example_05_orientation_stress iteration_conflicting_nets - 6.0000 -
example_05_orientation_stress iteration_conflict_edges - 3.0000 -
example_05_orientation_stress congestion_candidate_nets 15.0000 92.0000 +77.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 80.0000 +61.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 68.0000 +50.0000
example_07_large_scale_routing duration_s 0.1888 0.1998 +0.0110
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls - 1.0000 -
example_07_large_scale_routing iteration_reverified_nets - 10.0000 -
example_07_large_scale_routing iteration_conflicting_nets - 0.0000 -
example_07_large_scale_routing iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.4956 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 0.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4580.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 12096.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 12096.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 4.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverified_nets - 40.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 34.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 52.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 24413.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 21820.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 18030.0000 -

Step 25 - Finalize stalled conflict stop

Measured on 2026-04-01T19:17:59-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Removed the leftover full-reroute pre-eviction from the rejected working-set experiment so normal multi-net cases keep their previous search behavior.
  • Accepted state: end-of-iteration reverify plus early termination when the conflict graph repeats twice without structural change.
  • The no-warm-start example_07 canary now runs in about 5.8s with 4 iterations and 9865 congestion checks, while example_05 returns to 2 iterations and 213 congestion checks.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3241 0.3451 +0.0209
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_cache_misses 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls - 1.0000 -
example_02_congestion_resolution iteration_reverified_nets - 3.0000 -
example_02_congestion_resolution iteration_conflicting_nets - 0.0000 -
example_02_congestion_resolution iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2283 0.2433 +0.0150
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nets_carried_forward - 0.0000 -
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 213.0000 213.0000 +0.0000
example_05_orientation_stress iteration_reverify_calls - 2.0000 -
example_05_orientation_stress iteration_reverified_nets - 6.0000 -
example_05_orientation_stress iteration_conflicting_nets - 2.0000 -
example_05_orientation_stress iteration_conflict_edges - 1.0000 -
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1888 0.1982 +0.0094
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls - 1.0000 -
example_07_large_scale_routing iteration_reverified_nets - 10.0000 -
example_07_large_scale_routing iteration_conflicting_nets - 0.0000 -
example_07_large_scale_routing iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.7283 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 0.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 9865.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 9865.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 4.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverified_nets - 40.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 35.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 52.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 24 - Conflict-directed reroute working set

Measured on 2026-04-01T19:30:43-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Later iterations now reroute only unresolved nets plus a deterministic greedy cover of the end-of-iteration conflict graph.
  • Repeated conflict signatures widen the working set to all conflicting nets and then all nets once if the graph keeps stalling.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3241 0.3261 +0.0020
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_cache_misses 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls - 1.0000 -
example_02_congestion_resolution iteration_reverified_nets - 3.0000 -
example_02_congestion_resolution iteration_conflicting_nets - 0.0000 -
example_02_congestion_resolution iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2283 0.2246 -0.0037
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 5.0000 -1.0000
example_05_orientation_stress nets_carried_forward - 1.0000 -
example_05_orientation_stress nodes_expanded 286.0000 284.0000 -2.0000
example_05_orientation_stress congestion_check_calls 213.0000 207.0000 -6.0000
example_05_orientation_stress congestion_cache_misses 213.0000 207.0000 -6.0000
example_05_orientation_stress iteration_reverify_calls - 2.0000 -
example_05_orientation_stress iteration_reverified_nets - 6.0000 -
example_05_orientation_stress iteration_conflicting_nets - 2.0000 -
example_05_orientation_stress iteration_conflict_edges - 1.0000 -
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1888 0.1884 -0.0004
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls - 1.0000 -
example_07_large_scale_routing iteration_reverified_nets - 10.0000 -
example_07_large_scale_routing iteration_conflicting_nets - 0.0000 -
example_07_large_scale_routing iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 1626.2304 -
example_07_large_scale_routing_no_warm_start route_iterations - 13.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 108.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 13.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1559998.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3699692.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 3699692.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 12.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverified_nets - 120.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 113.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 138.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 3444090.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 2987961.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 2440828.0000 -

Step 26 rejected - Progressive freezing reverted

Measured on 2026-04-01T20:20:32-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The progressive-freezing experiment was reverted after bounded no-warm-start probes reached only 2 valid routes after 4 iterations and consumed the one-shot thaw without restoring correctness.
  • The tree below is the restored pre-freezing state so later passes can continue from the last accepted congestion baseline.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3384 0.3500 +0.0115
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward 0.0000 0.0000 +0.0000
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls 1.0000 1.0000 +0.0000
example_02_congestion_resolution iteration_conflicting_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_conflict_edges 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2366 0.2547 +0.0180
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nets_carried_forward 0.0000 0.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 213.0000 +0.0000
example_05_orientation_stress iteration_reverify_calls 2.0000 2.0000 +0.0000
example_05_orientation_stress iteration_conflicting_nets 2.0000 2.0000 +0.0000
example_05_orientation_stress iteration_conflict_edges 1.0000 1.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1994 0.2061 +0.0067
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward 0.0000 0.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls 1.0000 1.0000 +0.0000
example_07_large_scale_routing iteration_conflicting_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_conflict_edges 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.9146 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 0.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 9865.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 4.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 35.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 52.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 26 - Progressive freezing and frozen hard prunes

Measured on 2026-04-01T20:33:10-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Completed nets are now frozen after end-of-iteration reverify, later iterations reroute only the remaining unlocked nets, and overlaps with frozen nets are rejected as hard collisions.
  • This slice also tracks best-so-far iteration quality so later slices can safely restore the strongest partial solution.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3384 0.3202 -0.0182
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward 0.0000 0.0000 +0.0000
example_02_congestion_resolution frozen_nets_promoted - 3.0000 -
example_02_congestion_resolution frozen_nets_thawed - 0.0000 -
example_02_congestion_resolution frozen_net_hard_prunes - 0.0000 -
example_02_congestion_resolution best_iteration_completed_nets - 3.0000 -
example_02_congestion_resolution best_iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution best_iteration_dynamic_collisions - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2366 11.5966 +11.3600
example_05_orientation_stress route_iterations 2.0000 6.0000 +4.0000
example_05_orientation_stress nets_routed 6.0000 14.0000 +8.0000
example_05_orientation_stress nets_carried_forward 0.0000 4.0000 +4.0000
example_05_orientation_stress frozen_nets_promoted - 2.0000 -
example_05_orientation_stress frozen_nets_thawed - 1.0000 -
example_05_orientation_stress frozen_net_hard_prunes - 865.0000 -
example_05_orientation_stress best_iteration_completed_nets - 1.0000 -
example_05_orientation_stress best_iteration_conflict_edges - 1.0000 -
example_05_orientation_stress best_iteration_dynamic_collisions - 2.0000 -
example_05_orientation_stress nodes_expanded 286.0000 14395.0000 +14109.0000
example_05_orientation_stress congestion_check_calls 213.0000 24765.0000 +24552.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 8658.0000 +8643.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 10770.0000 +10751.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 8579.0000 +8561.0000
example_07_large_scale_routing duration_s 0.1994 0.1901 -0.0092
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward 0.0000 0.0000 +0.0000
example_07_large_scale_routing frozen_nets_promoted - 10.0000 -
example_07_large_scale_routing frozen_nets_thawed - 0.0000 -
example_07_large_scale_routing frozen_net_hard_prunes - 0.0000 -
example_07_large_scale_routing best_iteration_completed_nets - 10.0000 -
example_07_large_scale_routing best_iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing best_iteration_dynamic_collisions - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 2136.7523 -
example_07_large_scale_routing_no_warm_start route_iterations - 8.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 62.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 10.0000 -
example_07_large_scale_routing_no_warm_start frozen_nets_promoted - 4.0000 -
example_07_large_scale_routing_no_warm_start frozen_nets_thawed - 2.0000 -
example_07_large_scale_routing_no_warm_start frozen_net_hard_prunes - 76321.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_completed_nets - 2.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_conflict_edges - 12.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_dynamic_collisions - 50.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1849024.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4049028.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 4889029.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 4032868.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 3215112.0000 -

Step 26 - Progressive freezing and frozen hard prunes

Measured on 2026-04-01T20:36:40-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Completed nets are frozen after end-of-iteration reverify, later iterations reroute only the remaining unlocked nets, and overlaps with frozen nets are rejected as hard collisions.
  • The router also restores the strongest reverified iteration snapshot before final refinement and verification.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_02_congestion_resolution duration_s 0.3384 0.3401 +0.0017
example_02_congestion_resolution route_iterations 1.0000 1.0000 +0.0000
example_02_congestion_resolution nets_routed 3.0000 3.0000 +0.0000
example_02_congestion_resolution nets_carried_forward 0.0000 0.0000 +0.0000
example_02_congestion_resolution frozen_nets_promoted - 3.0000 -
example_02_congestion_resolution frozen_nets_thawed - 0.0000 -
example_02_congestion_resolution frozen_net_hard_prunes - 0.0000 -
example_02_congestion_resolution best_iteration_completed_nets - 3.0000 -
example_02_congestion_resolution best_iteration_conflict_edges - 0.0000 -
example_02_congestion_resolution best_iteration_dynamic_collisions - 0.0000 -
example_02_congestion_resolution nodes_expanded 366.0000 366.0000 +0.0000
example_02_congestion_resolution congestion_check_calls 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_candidate_ids 0.0000 0.0000 +0.0000
example_02_congestion_resolution congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_reverify_calls 1.0000 1.0000 +0.0000
example_02_congestion_resolution iteration_conflicting_nets 0.0000 0.0000 +0.0000
example_02_congestion_resolution iteration_conflict_edges 0.0000 0.0000 +0.0000
example_05_orientation_stress duration_s 0.2366 12.3369 +12.1002
example_05_orientation_stress route_iterations 2.0000 6.0000 +4.0000
example_05_orientation_stress nets_routed 6.0000 14.0000 +8.0000
example_05_orientation_stress nets_carried_forward 0.0000 4.0000 +4.0000
example_05_orientation_stress frozen_nets_promoted - 2.0000 -
example_05_orientation_stress frozen_nets_thawed - 1.0000 -
example_05_orientation_stress frozen_net_hard_prunes - 865.0000 -
example_05_orientation_stress best_iteration_completed_nets - 1.0000 -
example_05_orientation_stress best_iteration_conflict_edges - 1.0000 -
example_05_orientation_stress best_iteration_dynamic_collisions - 2.0000 -
example_05_orientation_stress nodes_expanded 286.0000 14395.0000 +14109.0000
example_05_orientation_stress congestion_check_calls 213.0000 24765.0000 +24552.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 8658.0000 +8643.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 10770.0000 +10751.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 8579.0000 +8561.0000
example_05_orientation_stress iteration_reverify_calls 2.0000 6.0000 +4.0000
example_05_orientation_stress iteration_conflicting_nets 2.0000 12.0000 +10.0000
example_05_orientation_stress iteration_conflict_edges 1.0000 6.0000 +5.0000
example_07_large_scale_routing duration_s 0.1994 0.1978 -0.0016
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward 0.0000 0.0000 +0.0000
example_07_large_scale_routing frozen_nets_promoted - 10.0000 -
example_07_large_scale_routing frozen_nets_thawed - 0.0000 -
example_07_large_scale_routing frozen_net_hard_prunes - 0.0000 -
example_07_large_scale_routing best_iteration_completed_nets - 10.0000 -
example_07_large_scale_routing best_iteration_conflict_edges - 0.0000 -
example_07_large_scale_routing best_iteration_dynamic_collisions - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_reverify_calls 1.0000 1.0000 +0.0000
example_07_large_scale_routing iteration_conflicting_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_conflict_edges 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 1500.4410 -
example_07_large_scale_routing_no_warm_start route_iterations - 7.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 60.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 8.0000 -
example_07_large_scale_routing_no_warm_start frozen_nets_promoted - 4.0000 -
example_07_large_scale_routing_no_warm_start frozen_nets_thawed - 2.0000 -
example_07_large_scale_routing_no_warm_start frozen_net_hard_prunes - 37879.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_completed_nets - 2.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_conflict_edges - 12.0000 -
example_07_large_scale_routing_no_warm_start best_iteration_dynamic_collisions - 50.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1282078.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 2860073.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 3432589.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 2740129.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 2266598.0000 -
example_07_large_scale_routing_no_warm_start iteration_reverify_calls - 6.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflicting_nets - 51.0000 -
example_07_large_scale_routing_no_warm_start iteration_conflict_edges - 77.0000 -

Step 27 - Congestion presence precheck

Measured on 2026-04-01T20:49:16-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • A cached per-span presence precheck now skips full congestion evaluation when a move's dilated polygons only cover dynamic-grid cells with no other routed nets.
  • The goal of this slice is to reduce congestion_check_calls without changing search outcomes or the dynamic exact-check path.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2366 0.2573 +0.0206
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 213.0000 155.0000 -58.0000
example_05_orientation_stress congestion_presence_cache_hits - 185.0000 -
example_05_orientation_stress congestion_presence_cache_misses - 30.0000 -
example_05_orientation_stress congestion_presence_skips - 58.0000 -
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 213.0000 155.0000 -58.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1994 0.1977 -0.0017
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_cache_hits - 0.0000 -
example_07_large_scale_routing congestion_presence_cache_misses - 0.0000 -
example_07_large_scale_routing congestion_presence_skips - 0.0000 -
example_07_large_scale_routing congestion_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.6221 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4549.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_hits - 7568.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_misses - 2480.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_skips - 5482.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 16.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 4549.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 28 - Candidate-net congestion precheck

Measured on 2026-04-01T20:59:46-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • After the dynamic-grid occupancy precheck passes, search now asks whether any candidate nets survive the existing envelope and grid-net filters before paying for full congestion evaluation.
  • This slice should reduce congestion_check_calls further if many occupied spans still have no candidate nets after the broad phases.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2491 0.2500 +0.0009
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 18.0000 -137.0000
example_05_orientation_stress congestion_presence_cache_hits 185.0000 185.0000 +0.0000
example_05_orientation_stress congestion_presence_cache_misses 30.0000 30.0000 +0.0000
example_05_orientation_stress congestion_presence_skips 58.0000 58.0000 +0.0000
example_05_orientation_stress congestion_candidate_precheck_hits - 135.0000 -
example_05_orientation_stress congestion_candidate_precheck_misses - 22.0000 -
example_05_orientation_stress congestion_candidate_precheck_skips - 139.0000 -
example_05_orientation_stress congestion_cache_hits 2.0000 0.0000 -2.0000
example_05_orientation_stress congestion_cache_misses 155.0000 18.0000 -137.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 14.0000 -1.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 18.0000 -1.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 17.0000 -1.0000
example_07_large_scale_routing duration_s 0.1978 0.1941 -0.0037
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_skips 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_precheck_hits - 0.0000 -
example_07_large_scale_routing congestion_candidate_precheck_misses - 0.0000 -
example_07_large_scale_routing congestion_candidate_precheck_skips - 0.0000 -
example_07_large_scale_routing congestion_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 89.2302 -
example_07_large_scale_routing_no_warm_start route_iterations - 9.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 90.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 113735.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 136225.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_hits - 217089.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_misses - 18365.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_skips - 86782.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_hits - 135690.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_misses - 12826.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_skips - 10244.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 1893.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 136225.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 243951.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 228721.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 190301.0000 -

Step 28b - Candidate-net congestion precheck (corrected)

Measured on 2026-04-01T21:00:54-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The first candidate-net precheck attempt cached exact-bounds results by span and was not safe; this corrected slice uses a conservative span-based precheck.
  • Acceptance requires the no-warm-start canary to stay near the current 4-iteration / 40-net routed shape while still reducing congestion_check_calls.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2491 0.2461 -0.0030
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_05_orientation_stress congestion_presence_cache_hits 185.0000 185.0000 +0.0000
example_05_orientation_stress congestion_presence_cache_misses 30.0000 30.0000 +0.0000
example_05_orientation_stress congestion_presence_skips 58.0000 58.0000 +0.0000
example_05_orientation_stress congestion_candidate_precheck_hits - 135.0000 -
example_05_orientation_stress congestion_candidate_precheck_misses - 22.0000 -
example_05_orientation_stress congestion_candidate_precheck_skips - 0.0000 -
example_05_orientation_stress congestion_cache_hits 2.0000 2.0000 +0.0000
example_05_orientation_stress congestion_cache_misses 155.0000 155.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1978 0.1979 +0.0001
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_presence_skips 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_precheck_hits - 0.0000 -
example_07_large_scale_routing congestion_candidate_precheck_misses - 0.0000 -
example_07_large_scale_routing congestion_candidate_precheck_skips - 0.0000 -
example_07_large_scale_routing congestion_cache_hits 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_cache_misses 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.6758 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_hits - 7568.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_cache_misses - 2480.0000 -
example_07_large_scale_routing_no_warm_start congestion_presence_skips - 5482.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_hits - 2828.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_misses - 1737.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_precheck_skips - 129.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_hits - 16.0000 -
example_07_large_scale_routing_no_warm_start congestion_cache_misses - 4420.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 29 - Correctness-aware measurement logging

Measured on 2026-04-01T21:18:56-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The diff script now logs top-level outcome counts so future routing-loop changes can be judged on returned result quality as well as runtime and congestion counters.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2370 0.2507 +0.0137
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_07_large_scale_routing duration_s 0.1950 0.1992 +0.0042
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.7234 -
example_07_large_scale_routing_no_warm_start valid_results - 1.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -

Step 30 - Best iteration snapshot restoration

Measured on 2026-04-01T21:20:51-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The routing loop now snapshots the strongest reverified intermediate result set and restores it before final refinement/final verification, including timeout exits.
  • This slice keeps the old repeated-conflict stop rule so any quality change can be attributed to snapshot restoration alone.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2370 0.2437 +0.0067
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_07_large_scale_routing duration_s 0.1950 0.1937 -0.0013
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.5246 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -

Step 31 - Improvement-based stagnation stop

Measured on 2026-04-01T21:23:19-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The negotiated-congestion loop now stops after two consecutive iterations with no improvement in the best-so-far reverified snapshot instead of using repeated conflict signatures.
  • Best-snapshot restoration remains enabled, so the returned results should reflect the strongest intermediate iteration even if later iterations stall.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2370 0.2393 +0.0023
example_05_orientation_stress valid_results 3.0000 1.0000 -2.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_07_large_scale_routing duration_s 0.1950 0.1884 -0.0066
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.4360 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -

Step 31 rejected - Improvement-based stagnation reverted

Measured on 2026-04-01T21:25:17-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • The no-improvement stop rule was reverted because it regressed example_05 from 3 valid routes to 1 even though the no-warm-start canary stayed flat.
  • The tree below is the restored best-snapshot state with the older repeated-conflict stop rule still in place.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2370 0.2425 +0.0055
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_07_large_scale_routing duration_s 0.1950 0.1936 -0.0014
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.5321 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -

Step 32 tiered-iteration dynamic hard blocks

Measured on 2026-04-01T21:42:45-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Treat already-routed dynamic paths as hard blockers only during iteration 0 when warm-start is disabled.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2466 +0.0118
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 226.0000 +71.0000
example_05_orientation_stress tiered_dynamic_hard_prunes - 0.0000 -
example_05_orientation_stress congestion_candidate_nets 15.0000 51.0000 +36.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 67.0000 +48.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 56.0000 +38.0000
example_07_large_scale_routing duration_s 0.1945 0.1931 -0.0014
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing tiered_dynamic_hard_prunes - 0.0000 -
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 8.7624 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 6.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 11200.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 5355.0000 -
example_07_large_scale_routing_no_warm_start tiered_dynamic_hard_prunes - 632.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 13623.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13469.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11346.0000 -

Step 32 reverted

Measured on 2026-04-01T21:44:47-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted tiered-iteration dynamic hard blockers after regressions in example_05 and the no-warm-start example_07 canary.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2462 +0.0114
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1945 0.1940 -0.0005
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.5497 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 34 rejected

Measured on 2026-04-01T22:08:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Explored order/seed and reroute-heuristic sensitivity before the slice. One-iteration no-warm-start probes were flat at 1 valid route across user, shortest, longest, and seeds 41-44; two-iteration probes were flat at 2 valid routes across the same variants.
  • Implemented a conflict-weighted congestion objective that weighted overlapping nets by prior completed status, conflict degree, and dynamic collision count.
  • Rejected the slice after the no-warm-start canary failed to finish within a reasonable window and ran far longer than the accepted ~5.6s state. The code was reverted before accepting any documentation or baseline changes.

Step 33 carry forward completed nets

Measured on 2026-04-01T21:58:50-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • After each reverify, reroute only nets that are still colliding, partial, or unroutable; keep completed nets installed as ordinary soft blockers.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2528 +0.0179
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 5.0000 -1.0000
example_05_orientation_stress nets_carried_forward 0.0000 1.0000 +1.0000
example_05_orientation_stress nodes_expanded 286.0000 284.0000 -2.0000
example_05_orientation_stress congestion_check_calls 155.0000 152.0000 -3.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1945 0.1960 +0.0015
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward 0.0000 0.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 49.8770 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 8.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 70.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 10.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 71162.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 80342.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 152845.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 136026.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 116066.0000 -

Step 33 reverted

Measured on 2026-04-01T21:59:33-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted completed-net carry-forward after the no-warm-start canary exploded in iterations, nodes, and congestion checks without improving validity.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2572 +0.0224
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nets_carried_forward 0.0000 0.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 286.0000 +0.0000
example_05_orientation_stress congestion_check_calls 155.0000 155.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1945 0.2024 +0.0079
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nets_carried_forward 0.0000 0.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 5.6270 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nets_carried_forward - 0.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 6567.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4420.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 12879.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 13342.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 11116.0000 -

Step 35 reroute seed guidance

Measured on 2026-04-01T22:22:54-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Guide post-tiered reroutes with the previous reached-target path seed by giving matching path-prefix moves a small cost bonus.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2313 -0.0036
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 299.0000 +13.0000
example_05_orientation_stress congestion_check_calls 155.0000 149.0000 -6.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 23.0000 +8.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 32.0000 +13.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 30.0000 +12.0000
example_07_large_scale_routing duration_s 0.1945 0.1881 -0.0064
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5099 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 39 rejected

Measured on 2026-04-01T22:58:58-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried adding a reroute-only uncongested max_cost ceiling derived from the previous reached-target path cost plus slack for two extra bends.
  • Rejected the slice before running the standard performance probe because it broke the stalled-conflict guardrail: the simple crossing case in test_reverify_iterations_stop_early_on_stalled_conflict_graph ran all 10 iterations instead of stopping early.
  • Reverted the slice and restored the accepted Step 35 full-seed guidance state.

Step 36 rejected

Measured on 2026-04-01T22:31:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Explored adding the longest still-valid prefix of the prior reached-target path as an additional seeded start node for later reroutes.
  • Rejected the slice on runtime: the no-warm-start example_07 measurement ran far beyond the accepted Step 35 ~3.5s state before completion, indicating the extra seeded branch was expanding too much search.
  • Reverted the slice and kept only the lighter Step 35 reroute-seed-guidance behavior.

Step 34 conflict-weighted congestion objective

Measured on 2026-04-01T22:38:11-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Weight congestion overlap cost by prior-iteration completed status, conflict degree, and dynamic collision count instead of counting every overlapping net equally.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2390 +0.0041
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 282.0000 -4.0000
example_05_orientation_stress congestion_check_calls 155.0000 145.0000 -10.0000
example_05_orientation_stress congestion_candidate_nets 15.0000 15.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 19.0000 19.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 18.0000 18.0000 +0.0000
example_07_large_scale_routing duration_s 0.1945 0.1918 -0.0027
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 1795.1890 -
example_07_large_scale_routing_no_warm_start valid_results - 1.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 2.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 16.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1501303.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 1622620.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 5074171.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 4556689.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 4129698.0000 -

Step 36 reusable prefix start nodes

Measured on 2026-04-01T22:49:16-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • On later reroutes, add the longest still-valid prefix of the previous reached-target path as an additional seeded start node while keeping the original start branch available.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2249 +0.0010
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress reroute_prefix_paths_used - 3.0000 -
example_05_orientation_stress reroute_prefix_components_reused - 8.0000 -
example_05_orientation_stress nodes_expanded 299.0000 292.0000 -7.0000
example_05_orientation_stress congestion_check_calls 149.0000 125.0000 -24.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 22.0000 -1.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 31.0000 -1.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 29.0000 -1.0000
example_07_large_scale_routing duration_s 0.1912 0.1916 +0.0004
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing reroute_prefix_paths_used - 0.0000 -
example_07_large_scale_routing reroute_prefix_components_reused - 0.0000 -
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 229.2009 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 9.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 90.0000 -
example_07_large_scale_routing_no_warm_start reroute_prefix_paths_used - 65.0000 -
example_07_large_scale_routing_no_warm_start reroute_prefix_components_reused - 172.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 350958.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 470234.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 929523.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 853594.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 712783.0000 -

Step 37 capped guidance rejected

Measured on 2026-04-01T22:53:55-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Exploratory probe showed a mild runtime win when reroute guidance was capped to 4 segments, but the code/test slice did not land cleanly and was reverted before acceptance.
  • Restored the accepted Step 35 full-seed guidance state and remeasured the standard probe set.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2304 +0.0065
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1862 -0.0050
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.4899 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 38 capped reroute guidance

Measured on 2026-04-01T22:55:29-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Cap reroute guidance seeds to the first 4 segments on later iterations; keep the existing prefix-match bonus unchanged.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2388 +0.0150
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1924 +0.0012
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.6174 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 38 reverted

Measured on 2026-04-01T22:56:22-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted the 4-segment reroute-guidance cap after the standard probe set showed no counter improvement and only runtime noise.
  • Restored the accepted Step 35 full-seed guidance state.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2463 +0.0224
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1912 -0.0000
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5580 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 40 partial straight guidance

Measured on 2026-04-01T23:01:12-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Allow reroute guidance to consume straight seeds incrementally so split straight moves can continue following a prior reached-target path.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2329 +0.0090
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1879 -0.0033
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5305 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 40 reverted

Measured on 2026-04-01T23:02:26-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted partial straight-seed guidance after the standard probe set showed no counter deltas and no correctness gain.
  • Restored the accepted Step 35 full-seed exact-match guidance state.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2353 +0.0115
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1897 -0.0015
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5522 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 41 guidance counters

Measured on 2026-04-01T23:04:31-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Add public counters for reroute guidance matches and total guidance bonus applied so later guidance changes can be measured directly.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2239 0.2544 +0.0306
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves - 11.0000 -
example_05_orientation_stress guidance_bonus_applied - 687.5000 -
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1912 0.1940 +0.0027
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied - 0.0000 -
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.7438 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 42 scaled guidance bonus

Measured on 2026-04-02T00:18:11-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Scale reroute guidance bonus by matched move cost, capped at 50% of the move's own cost, so matched straights no longer become nearly free.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2276 -0.0024
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 275.0000 -24.0000
example_05_orientation_stress guidance_match_moves 11.0000 10.0000 -1.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 368.6994 -318.8006
example_05_orientation_stress congestion_check_calls 149.0000 120.0000 -29.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 15.0000 -8.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 19.0000 -13.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 18.0000 -12.0000
example_07_large_scale_routing duration_s 0.2043 0.1861 -0.0182
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 4.0027 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4747.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 2854.9698 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4010.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 11537.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 12027.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 9988.0000 -

Step 42 reverted

Measured on 2026-04-02T00:19:47-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted the scaled guidance bonus after the no-warm-start example_07 canary regressed in runtime, nodes, and congestion work without any validity gain.
  • Restored the accepted fixed-bonus Step 35 guidance behavior.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2339 +0.0039
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.2043 0.1895 -0.0148
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5410 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 43 guidance counters by move type

Measured on 2026-04-02T00:24:23-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Split guidance matches and total applied bonus by move type so the next selective-guidance slice can target the dominant match class on the no-warm-start canary.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2329 +0.0030
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight - 3.0000 -
example_05_orientation_stress guidance_match_moves_bend90 - 8.0000 -
example_05_orientation_stress guidance_match_moves_sbend - 0.0000 -
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight - 187.5000 -
example_05_orientation_stress guidance_bonus_applied_bend90 - 500.0000 -
example_05_orientation_stress guidance_bonus_applied_sbend - 0.0000 -
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.2043 0.1899 -0.0143
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight - 0.0000 -
example_07_large_scale_routing guidance_match_moves_bend90 - 0.0000 -
example_07_large_scale_routing guidance_match_moves_sbend - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_bend90 - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_sbend - 0.0000 -
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5484 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 50 terminal repair rejected

Measured on 2026-04-02T10:18:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Added a bounded terminal repair phase for reached-but-colliding nets after best-snapshot restoration, with up to two sequential repair sweeps and completed nets treated as hard blockers during repair reroutes.
  • The slice stayed within the node and congestion guardrails, but it did not improve the only important outcome: the no-warm-start example_07 canary remained at 2/10/10.
  • Rejected the slice and reverted the code. The tree was restored to the accepted fixed-guidance branch without refreshing docs/performance.md or docs/performance_baseline.json.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2400 +0.0125
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress terminal_repair_sweeps - 0.0000 -
example_05_orientation_stress terminal_repair_nets_considered - 0.0000 -
example_05_orientation_stress terminal_repair_nets_accepted - 0.0000 -
example_05_orientation_stress terminal_repair_nets_rejected - 0.0000 -
example_05_orientation_stress terminal_repair_completed_promotions - 0.0000 -
example_05_orientation_stress repair_frozen_net_prunes - 0.0000 -
example_07_large_scale_routing duration_s 0.1907 0.1969 +0.0062
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing terminal_repair_sweeps - 0.0000 -
example_07_large_scale_routing terminal_repair_nets_considered - 0.0000 -
example_07_large_scale_routing terminal_repair_nets_accepted - 0.0000 -
example_07_large_scale_routing terminal_repair_nets_rejected - 0.0000 -
example_07_large_scale_routing terminal_repair_completed_promotions - 0.0000 -
example_07_large_scale_routing repair_frozen_net_prunes - 0.0000 -
example_07_large_scale_routing_no_warm_start duration_s - 6.5413 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 56.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 10691.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4805.0000 -
example_07_large_scale_routing_no_warm_start terminal_repair_sweeps - 2.0000 -
example_07_large_scale_routing_no_warm_start terminal_repair_nets_considered - 16.0000 -
example_07_large_scale_routing_no_warm_start terminal_repair_nets_accepted - 8.0000 -
example_07_large_scale_routing_no_warm_start terminal_repair_nets_rejected - 8.0000 -
example_07_large_scale_routing_no_warm_start terminal_repair_completed_promotions - 0.0000 -
example_07_large_scale_routing_no_warm_start repair_frozen_net_prunes - 300.0000 -

Step 50 rejected

Measured on 2026-04-02T10:02:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried per-net incumbent acceptance with a second accepted-state reverify after each full candidate iteration.
  • Rejected the slice immediately: the no-warm-start example_07 canary stayed at 2/10/10 valid but regressed to 179.0440s, 8 iterations, 80 nets routed, 234493 expanded nodes, and 255901 congestion checks.
  • Reverted the code and restored the prior accepted fixed-guidance state without refreshing the committed baseline artifacts.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2406 +0.0132
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress iteration_candidate_results_accepted - 5.0000 -
example_05_orientation_stress iteration_incumbent_results_kept - 1.0000 -
example_05_orientation_stress iteration_accept_reverify_calls - 2.0000 -
example_07_large_scale_routing duration_s 0.1907 0.2029 +0.0122
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing iteration_candidate_results_accepted - 10.0000 -
example_07_large_scale_routing iteration_incumbent_results_kept - 0.0000 -
example_07_large_scale_routing iteration_accept_reverify_calls - 1.0000 -
example_07_large_scale_routing_no_warm_start duration_s - 179.0440 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 8.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 80.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 234493.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 255901.0000 -
example_07_large_scale_routing_no_warm_start iteration_candidate_results_accepted - 30.0000 -
example_07_large_scale_routing_no_warm_start iteration_incumbent_results_kept - 50.0000 -
example_07_large_scale_routing_no_warm_start iteration_accept_reverify_calls - 8.0000 -

Step 44 selective straight guidance

Measured on 2026-04-02T00:25:53-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Keep full reroute guidance bonus for bend90 and sbend matches, but cut straight-match bonus in half.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2361 +0.0061
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight - 3.0000 -
example_05_orientation_stress guidance_match_moves_bend90 - 8.0000 -
example_05_orientation_stress guidance_match_moves_sbend - 0.0000 -
example_05_orientation_stress guidance_bonus_applied 687.5000 593.7500 -93.7500
example_05_orientation_stress guidance_bonus_applied_straight - 93.7500 -
example_05_orientation_stress guidance_bonus_applied_bend90 - 500.0000 -
example_05_orientation_stress guidance_bonus_applied_sbend - 0.0000 -
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.2043 0.1912 -0.0131
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight - 0.0000 -
example_07_large_scale_routing guidance_match_moves_bend90 - 0.0000 -
example_07_large_scale_routing guidance_match_moves_sbend - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_bend90 - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_sbend - 0.0000 -
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 4.0413 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4747.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 4687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 1625.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3721.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 10835.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 11093.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 9328.0000 -

Step 45 selective bend guidance

Measured on 2026-04-02T00:27:37-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Restore full straight guidance, but cut bend90-match bonus in half while keeping sbend matches at full bonus.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2211 -0.0089
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 272.0000 -27.0000
example_05_orientation_stress guidance_match_moves 11.0000 10.0000 -1.0000
example_05_orientation_stress guidance_match_moves_straight - 3.0000 -
example_05_orientation_stress guidance_match_moves_bend90 - 7.0000 -
example_05_orientation_stress guidance_match_moves_sbend - 0.0000 -
example_05_orientation_stress guidance_bonus_applied 687.5000 406.2500 -281.2500
example_05_orientation_stress guidance_bonus_applied_straight - 187.5000 -
example_05_orientation_stress guidance_bonus_applied_bend90 - 218.7500 -
example_05_orientation_stress guidance_bonus_applied_sbend - 0.0000 -
example_05_orientation_stress congestion_check_calls 149.0000 108.0000 -41.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 15.0000 -8.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 19.0000 -13.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 18.0000 -12.0000
example_07_large_scale_routing duration_s 0.2043 0.1873 -0.0170
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight - 0.0000 -
example_07_large_scale_routing guidance_match_moves_bend90 - 0.0000 -
example_07_large_scale_routing guidance_match_moves_sbend - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_bend90 - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_sbend - 0.0000 -
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5628 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4320.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 4968.7500 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 1343.7500 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3594.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 10245.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10859.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8944.0000 -

Step 45 reverted

Measured on 2026-04-02T00:29:03-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted bend-selective guidance after the no-warm-start canary still regressed in nodes and congestion work without any validity gain.
  • Restored the accepted fixed-bonus guidance state while keeping the move-type counters.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2300 0.2387 +0.0088
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight - 3.0000 -
example_05_orientation_stress guidance_match_moves_bend90 - 8.0000 -
example_05_orientation_stress guidance_match_moves_sbend - 0.0000 -
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight - 187.5000 -
example_05_orientation_stress guidance_bonus_applied_bend90 - 500.0000 -
example_05_orientation_stress guidance_bonus_applied_sbend - 0.0000 -
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.2043 0.1906 -0.0137
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight - 0.0000 -
example_07_large_scale_routing guidance_match_moves_bend90 - 0.0000 -
example_07_large_scale_routing guidance_match_moves_sbend - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_bend90 - 0.0000 -
example_07_large_scale_routing guidance_bonus_applied_sbend - 0.0000 -
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5968 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 46 later-iteration guidance decay

Measured on 2026-04-02T00:38:26-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Keep the first reroute guidance bonus unchanged, then halve the guidance bonus on iteration 2 and later reroutes.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2316 +0.0041
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1923 +0.0016
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 4.1601 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4850.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 4093.7500 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 2125.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 1718.7500 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3917.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 11398.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 11839.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 9870.0000 -

Step 46 reverted

Measured on 2026-04-02T00:39:37-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted later-iteration guidance decay after the no-warm-start canary regressed in runtime, nodes, and congestion work with no validity gain.
  • Restored the accepted fixed-bonus guidance state while keeping the move-type counters.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2379 +0.0105
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.2109 +0.0202
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.6956 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 47 conflict-aware guidance decay

Measured on 2026-04-02T00:44:37-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reduce reroute guidance bonus only when the net's own prior reached-target path still had dynamic collisions; keep full bonus for already-clean prior paths.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2439 +0.0164
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 286.0000 -13.0000
example_05_orientation_stress guidance_match_moves 11.0000 10.0000 -1.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 7.0000 -1.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 500.0000 -187.5000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 171.8750 -15.6250
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 328.1250 -171.8750
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 130.0000 -19.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 15.0000 -8.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 19.0000 -13.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 18.0000 -12.0000
example_07_large_scale_routing duration_s 0.1907 0.1986 +0.0079
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 4.0364 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4421.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 4890.6250 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 2515.6250 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2015.6250 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 359.3750 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3565.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 10202.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10558.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8814.0000 -

Step 47 reverted

Measured on 2026-04-02T00:45:52-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted conflict-aware guidance decay after the no-warm-start canary still regressed in runtime, nodes, and congestion work without any validity gain.
  • Restored the accepted fixed-bonus guidance state while keeping the move-type counters.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2330 +0.0056
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1878 -0.0029
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5878 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 48 best reverified guidance source

Measured on 2026-04-02T08:41:26-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Prefer the best reverified per-net path snapshot as the reroute guidance seed, falling back to the most recent reached-target path only when no best snapshot exists.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2347 +0.0073
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1934 +0.0027
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5687 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 49 per-net best reverified guidance

Measured on 2026-04-02T08:43:09-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Track the best reverified reached-target path per net, ranked by dynamic collisions, total collisions, then total length, and prefer that path as reroute guidance.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2432 +0.0158
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1923 +0.0016
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 4.7028 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 5664.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 95.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 49.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 40.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 5937.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3062.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2500.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3406.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9679.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10059.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8361.0000 -

Step 49 reverted

Measured on 2026-04-02T08:44:09-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Reverted per-net best reverified guidance after the no-warm-start canary regressed sharply in runtime and nodes without any validity gain.
  • Restored the accepted fixed-bonus guidance state while keeping the move-type counters.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2367 +0.0093
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress guidance_match_moves 11.0000 11.0000 +0.0000
example_05_orientation_stress guidance_match_moves_straight 3.0000 3.0000 +0.0000
example_05_orientation_stress guidance_match_moves_bend90 8.0000 8.0000 +0.0000
example_05_orientation_stress guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied 687.5000 687.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_straight 187.5000 187.5000 +0.0000
example_05_orientation_stress guidance_bonus_applied_bend90 500.0000 500.0000 +0.0000
example_05_orientation_stress guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress congestion_candidate_nets 23.0000 23.0000 +0.0000
example_05_orientation_stress congestion_candidate_ids 32.0000 32.0000 +0.0000
example_05_orientation_stress congestion_exact_pair_checks 30.0000 30.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1904 -0.0003
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing guidance_match_moves 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_match_moves_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_straight 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_bend90 0.0000 0.0000 +0.0000
example_07_large_scale_routing guidance_bonus_applied_sbend 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_nets 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_candidate_ids 0.0000 0.0000 +0.0000
example_07_large_scale_routing congestion_exact_pair_checks 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.6154 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves - 101.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_straight - 52.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_bend90 - 43.0000 -
example_07_large_scale_routing_no_warm_start guidance_match_moves_sbend - 6.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied - 6312.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_straight - 3250.0000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_bend90 - 2687.5000 -
example_07_large_scale_routing_no_warm_start guidance_bonus_applied_sbend - 375.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_nets - 9604.0000 -
example_07_large_scale_routing_no_warm_start congestion_candidate_ids - 10010.0000 -
example_07_large_scale_routing_no_warm_start congestion_exact_pair_checks - 8312.0000 -

Step 51 conflict trace instrumentation

Measured on 2026-04-02T11:20:41-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Added opt-in conflict-trace capture and a separate recorder script without changing routing policy.
  • The no-warm-start canary still finishes 2/10/10 with 4 iterations; tracing shows the same conflict structure at iteration, restored-best, and final stages.
  • Recurring hotspot edges cluster in two groups: net_00-net_03 and net_06-net_09.
  • Recurring component pairs also repeat across all traced stages, which points to stable geometric bottlenecks rather than seed noise.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2338 +0.0064
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1896 -0.0011
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5423 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 52 prefix-preserving hotspot repair rejected

Measured on 2026-04-02T11:45:37-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried a bounded post-loop hotspot repair that preserved clean prefixes and rerouted only conflicted suffixes.
  • The no-warm-start canary stayed at 2/10/10 and the repair counters showed zero accepted repairs, so the slice did not move correctness.
  • The experiment temporarily raised the canary to 4258 nodes with one repair pass, two clusters attempted, and eight nets considered before it was reverted.
  • The tree is restored to the accepted fixed-guidance state: example_07_no_warm_start is back at 2 valid, 10 reached, 4250 nodes, and 3388 congestion checks.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2384 +0.0110
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1909 +0.0002
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5590 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 53 cluster repack repair rejected

Measured on 2026-04-02T12:04:21-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried bounded post-loop clique reroute against frozen outside geometry.
  • No-warm-start canary stayed 2/10/10.
  • Final conflict edges improved 12 -> 10, but correctness did not improve and search cost rose materially.
  • Tree restored to the accepted fixed-guidance state after revert.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2364 +0.0089
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1915 +0.0008
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5998 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 54 hotspot keep-out repair rejected

Measured on 2026-04-02T12:22:14-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried bounded post-loop clique reroute with temporary hotspot keep-out obstacles and frozen outside geometry.
  • The no-warm-start canary failed a bounded probe: a single-scenario diff run timed out at 20 seconds, far above the accepted ~3.5 second state.
  • Because the slice was clearly losing on runtime before showing any correctness gain, it was reverted.
  • Tree restored to the accepted fixed-guidance branch after revert.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2490 +0.0216
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.2004 +0.0097
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.8387 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 55 bounded portfolio rerun rejected

Measured on 2026-04-02T12:50:58-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried a conservative top-level best-of-three portfolio for warm-start-disabled runs using alternate shuffle/order settings.
  • The no-warm-start canary was unchanged at 2/10/10, 4250 nodes, and 3388 congestion checks.
  • Because the added control-path complexity produced no correctness or cost improvement, the slice was reverted.
  • Tree restored to the accepted fixed-guidance branch after revert.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2408 +0.0133
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1953 +0.0046
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.6741 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 56 frontier hotspot instrumentation

Measured on 2026-04-02T13:00:47-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Added opt-in frontier_trace diagnostics and recorder tooling without changing routing behavior.
  • No-warm-start canary stayed on the accepted 2/10/10, 4250-node, 3388-congestion-check shape.
  • Frontier trace shows hotspot-adjacent prunes are dominated by cost (3412) and closed-set (626), with zero hard-collision prunes near the traced hotspots.
  • Self-collision pruning is concentrated in net_02 (455 traced self-collision prunes); the other hotspot nets are mostly cost- and closed-set-limited.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2300 +0.0026
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1891 -0.0016
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.5576 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 57 frontier hotspot readout refinement

Measured on 2026-04-02T13:11:47-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Extended frontier_trace reporting with per-net sampled reason x move_type and hotspot splits.
  • net_02 samples split across hotspots 0 and 6 and include heavy straight self-collision pruning; sampled mix is 36 cost, 23 self-collision, 5 closed-set.
  • net_03 and net_06 are almost entirely straight-move cost prunes at hotspot 0; their few traced bend90 samples are closed-set dominated, not geometry-blocked.
  • The sampled cost prunes are overshoot moves well outside the 0..1000 board bounds, so the current cost bucket is largely boundary-rejection rather than local corridor pricing.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2275 0.2365 +0.0090
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_07_large_scale_routing duration_s 0.1907 0.1927 +0.0020
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 3.6435 -
example_07_large_scale_routing_no_warm_start valid_results - 2.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 4.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 40.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 4250.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 3388.0000 -

Step 58 large no-warm straight-bound cap

Measured on 2026-04-02T13:22:28-07:00. Baseline: /tmp/inire_pre_step58_baseline.json.

Findings:

  • Applied a board-boundary cap to straight candidate reach only for large warm-start-disabled multi-net runs.
  • The no-warm-start example_07 canary improved from 2/10/10 to 6/10/10.
  • Nodes fell from 4250 to 1764 and runtime fell to about 1.95s, while congestion checks rose modestly from 3388 to 4625 as the search converged through six lighter iterations.
  • Warmed example_07 stayed 10/10/10 and example_05 kept identical routing counters and validity.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2348 0.2387 +0.0038
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 286.0000 299.0000 +13.0000
example_05_orientation_stress congestion_check_calls 155.0000 149.0000 -6.0000
example_07_large_scale_routing duration_s 0.1945 0.1944 -0.0000
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 1.9279 -
example_07_large_scale_routing_no_warm_start valid_results - 6.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 6.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 60.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1764.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4625.0000 -

Step 59 pair-local exact-conflict repair rejected

Measured on 2026-04-02T13:50:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried a bounded post-loop two-net repair portfolio on the final conflict pairs, with ranked vs reversed reroute order and optional exact-overlap keep-outs.
  • The no-warm-start canary stayed at 6/10/10; the repair phase accepted 0 whole-set improvements across 8 attempts on 2 pairs.
  • Cost regressed sharply during the failed slice to about 9.56s, 11126 expanded nodes, and 9087 congestion checks, with 4257 frozen-net hard prunes.
  • The slice was reverted and the tree restored to the accepted straight-boundary-cap branch.

Step 60 trimmed exploratory straight heuristics rejected

Measured on 2026-04-02T14:00:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried removing the generic max_reach / 2 and max_reach - 5 straight candidates only for the same large no-warm runs that use the accepted straight-boundary cap.
  • The no-warm-start canary regressed from 6/10/10 to 2/10/10 and runtime climbed to about 26s.
  • Search work exploded to about 27619 expanded nodes and 53804 congestion checks, so the generic exploratory straight candidates are still necessary for the accepted branch.
  • The slice was reverted and the tree restored to the accepted straight-boundary-cap branch.

Step 61 staggered bend-anchor diversification rejected

Measured on 2026-04-02T14:10:00-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Tried adding deterministic staggered pre-bend straight candidates for odd-indexed nets only in the large no-warm regime to separate the remaining colliding pairs.
  • The no-warm-start canary regressed from 6/10/10 to 3/10/10 and runtime rose to about 8.6s.
  • The heuristic fired heavily (1051 staggered bend-anchor candidates and 785 staggered visible candidates) but search still got worse, with about 6724 expanded nodes and 21577 congestion checks.
  • The slice was reverted and the tree restored to the accepted straight-boundary-cap branch.

Step 62 pair-local scratch reroute accepted

Measured on 2026-04-02T14:15:04-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Built a bounded post-loop pair-local reroute that treats all outside-pair nets as frozen static blockers in a scratch routing world. The no-warm-start example_07 canary improved from 6/10/10 to 9/10/10 with two accepted pair repairs and only 33 extra search expansions.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2591 0.2440 -0.0151
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress pair_local_search_pairs_considered - 0.0000 -
example_05_orientation_stress pair_local_search_attempts - 0.0000 -
example_05_orientation_stress pair_local_search_accepts - 0.0000 -
example_05_orientation_stress pair_local_search_nodes_expanded - 0.0000 -
example_07_large_scale_routing duration_s 0.2027 0.2029 +0.0002
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing pair_local_search_pairs_considered - 0.0000 -
example_07_large_scale_routing pair_local_search_attempts - 0.0000 -
example_07_large_scale_routing pair_local_search_accepts - 0.0000 -
example_07_large_scale_routing pair_local_search_nodes_expanded - 0.0000 -
example_07_large_scale_routing_no_warm_start duration_s - 2.1244 -
example_07_large_scale_routing_no_warm_start valid_results - 9.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 6.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 60.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1764.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4625.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_pairs_considered - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_attempts - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_accepts - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_nodes_expanded - 33.0000 -

Step 63 pair-local static obstacle cloning fix

Measured on 2026-04-02T14:24:40-07:00. Baseline: docs/performance_baseline.json.

Findings:

  • Fixed the scratch pair-local routing world to clone static obstacles from the live collision engine instead of the RoutingProblem wrapper. That removed the false-clean net_00 reroute and lifted the no-warm-start example_07 canary from 9/10/10 to 10/10/10 with the same main search workload.

Performance Baseline Diff

Scenario Metric Baseline Current Delta
example_05_orientation_stress duration_s 0.2361 0.2495 +0.0134
example_05_orientation_stress valid_results 3.0000 3.0000 +0.0000
example_05_orientation_stress reached_targets 3.0000 3.0000 +0.0000
example_05_orientation_stress route_iterations 2.0000 2.0000 +0.0000
example_05_orientation_stress nets_routed 6.0000 6.0000 +0.0000
example_05_orientation_stress nodes_expanded 299.0000 299.0000 +0.0000
example_05_orientation_stress congestion_check_calls 149.0000 149.0000 +0.0000
example_05_orientation_stress pair_local_search_pairs_considered 0.0000 0.0000 +0.0000
example_05_orientation_stress pair_local_search_attempts 0.0000 0.0000 +0.0000
example_05_orientation_stress pair_local_search_accepts 0.0000 0.0000 +0.0000
example_05_orientation_stress pair_local_search_nodes_expanded 0.0000 0.0000 +0.0000
example_07_large_scale_routing duration_s 0.2025 0.2059 +0.0034
example_07_large_scale_routing valid_results 10.0000 10.0000 +0.0000
example_07_large_scale_routing reached_targets 10.0000 10.0000 +0.0000
example_07_large_scale_routing route_iterations 1.0000 1.0000 +0.0000
example_07_large_scale_routing nets_routed 10.0000 10.0000 +0.0000
example_07_large_scale_routing nodes_expanded 78.0000 78.0000 +0.0000
example_07_large_scale_routing congestion_check_calls 0.0000 0.0000 +0.0000
example_07_large_scale_routing pair_local_search_pairs_considered 0.0000 0.0000 +0.0000
example_07_large_scale_routing pair_local_search_attempts 0.0000 0.0000 +0.0000
example_07_large_scale_routing pair_local_search_accepts 0.0000 0.0000 +0.0000
example_07_large_scale_routing pair_local_search_nodes_expanded 0.0000 0.0000 +0.0000
example_07_large_scale_routing_no_warm_start duration_s - 2.1497 -
example_07_large_scale_routing_no_warm_start valid_results - 10.0000 -
example_07_large_scale_routing_no_warm_start reached_targets - 10.0000 -
example_07_large_scale_routing_no_warm_start route_iterations - 6.0000 -
example_07_large_scale_routing_no_warm_start nets_routed - 60.0000 -
example_07_large_scale_routing_no_warm_start nodes_expanded - 1764.0000 -
example_07_large_scale_routing_no_warm_start congestion_check_calls - 4625.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_pairs_considered - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_attempts - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_accepts - 2.0000 -
example_07_large_scale_routing_no_warm_start pair_local_search_nodes_expanded - 68.0000 -

Step 64 seed-43 iteration-trace diagnosis

Measured on 2026-04-02T16:11:39-07:00.

Findings:

  • Added capture_iteration_trace plus scripts/record_iteration_trace.py and tracked the first seed 42 vs seed 43 no-warm comparison in docs/iteration_trace.json and docs/iteration_trace.md.
  • The pathological seed 43 basin is not front-loaded. It matches the solved seed 42 path through iteration 5, then falls into three extra iterations with only 4 completed nets and 4 conflict edges.
  • The late blowup is concentrated in two nets, not the whole routing set: net_06 contributes 31604 attributed nodes and 83752 congestion checks, while net_03 contributes 27532 nodes and 75019 congestion checks.
  • This points the next optimization work at late-iteration reroute behavior for a small subset of nets rather than another global congestion or pair-local-search change.