# Results tables (heldout)

Generated by `audit/final_adversarial/make_tables.py` from `artifacts/final-adversarial-audit/results/heldout/` and the trial files. 800 trials ok, 0 failed.

## T1. Traffic outcomes by scenario and arm (mean ± SD over seeds)

P1 = mean time loss over all requested ordinary vehicles (s/veh); completion = share of ordinary trips finished by 2700 s; stranded = still running at the end; gridlock = junction episodes of ≥ 120 s with ≥ 5 halting and no crossing; ineff./wasted green in junction-seconds (definitions: AUDIT_PROTOCOL.md §8, §11).

| scenario | arm | n | P1 time loss (s) | completion | stranded | gridlock | spillback (lane-s) | max red wait (s) | ineff. green (s) | wasted green (s) |
|---|---|---|---|---|---|---|---|---|---|---|
| R0 | VECTOR | 10 | 170.0 ± 32.0 | 97.7 ± 2.5% | 78 ± 87 | 1.4 ± 2.5 | 4209 ± 2371 | 105 ± 0 | 1514 ± 1024 | 2465 ± 1073 |
| R0 | native | 10 | 182.0 ± 66.3 | 92.3 ± 7.7% | 252 ± 244 | 5.9 ± 5.1 | 6653 ± 4710 | 55 ± 0 | 2792 ± 2575 | 3553 ± 2618 |
| R0 | veh-act | 10 | 194.9 ± 41.1 | 96.1 ± 4.4% | 131 ± 149 | 2.5 ± 4.3 | 5083 ± 3010 | 514 ± 95 | 1992 ± 1755 | 2985 ± 1777 |
| R0 | fixed | 10 | 382.2 ± 50.6 | 79.2 ± 6.5% | 615 ± 182 | 12.5 ± 7.2 | 16198 ± 3390 | 40 ± 0 | 7698 ± 2834 | 17990 ± 2048 |
| A | VECTOR | 10 | 330.1 ± 39.0 | 83.9 ± 3.0% | 503 ± 104 | 3.3 ± 2.8 | 13796 ± 2591 | 105 ± 0 | 5517 ± 1252 | 6745 ± 1313 |
| A | native | 10 | 302.6 ± 72.9 | 80.7 ± 7.5% | 642 ± 255 | 6.3 ± 4.0 | 14184 ± 4429 | 55 ± 0 | 5226 ± 2719 | 5964 ± 2503 |
| A | veh-act | 10 | 391.7 ± 83.0 | 76.7 ± 8.6% | 713 ± 242 | 15.1 ± 10.8 | 17102 ± 5146 | 845 ± 236 | 8728 ± 4340 | 9634 ± 3685 |
| A | fixed | 10 | 455.1 ± 60.3 | 74.4 ± 7.0% | 765 ± 233 | 7.6 ± 4.8 | 19901 ± 4409 | 40 ± 0 | 8152 ± 2988 | 18842 ± 2378 |
| B | VECTOR | 10 | 314.7 ± 56.2 | 84.9 ± 7.1% | 476 ± 200 | 7.2 ± 7.5 | 13171 ± 3318 | 105 ± 0 | 6590 ± 3144 | 7390 ± 3042 |
| B | native | 10 | 241.2 ± 34.0 | 89.4 ± 4.5% | 338 ± 134 | 6.1 ± 5.4 | 10027 ± 2709 | 55 ± 0 | 3325 ± 1652 | 4262 ± 1588 |
| B | veh-act | 10 | 357.0 ± 85.5 | 79.9 ± 10.6% | 644 ± 310 | 13.7 ± 9.4 | 15625 ± 5499 | 893 ± 342 | 8714 ± 4509 | 9507 ± 4199 |
| B | fixed | 10 | 477.9 ± 77.3 | 71.6 ± 7.4% | 747 ± 198 | 16.8 ± 6.2 | 19607 ± 4799 | 40 ± 0 | 10438 ± 3608 | 20387 ± 3020 |
| C | VECTOR | 10 | 173.8 ± 32.4 | 97.1 ± 4.0% | 98 ± 135 | 1.9 ± 3.8 | 4485 ± 2528 | 105 ± 0 | 1784 ± 1596 | 2699 ± 1500 |
| C | native | 10 | 140.7 ± 30.4 | 99.1 ± 1.5% | 30 ± 52 | 0.8 ± 1.9 | 3468 ± 2323 | 55 ± 0 | 711 ± 622 | 1540 ± 700 |
| C | veh-act | 10 | 183.2 ± 29.9 | 98.5 ± 1.7% | 52 ± 59 | 0.6 ± 1.3 | 4077 ± 1916 | 496 ± 70 | 1283 ± 713 | 2315 ± 905 |
| C | fixed | 10 | 375.4 ± 43.2 | 80.5 ± 6.1% | 578 ± 164 | 11.8 ± 5.9 | 15744 ± 2584 | 40 ± 0 | 7279 ± 2515 | 17706 ± 1883 |
| D | VECTOR | 10 | 175.6 ± 32.5 | 97.4 ± 3.0% | 90 ± 100 | 1.3 ± 2.8 | 4792 ± 2438 | 105 ± 0 | 1819 ± 1287 | 2736 ± 1286 |
| D | native | 10 | 146.2 ± 33.9 | 97.7 ± 2.9% | 79 ± 99 | 1.3 ± 2.5 | 3903 ± 2509 | 55 ± 0 | 1100 ± 1024 | 1882 ± 991 |
| D | veh-act | 10 | 184.5 ± 37.6 | 97.9 ± 2.8% | 72 ± 98 | 1.1 ± 2.1 | 4329 ± 2630 | 524 ± 50 | 1399 ± 956 | 2378 ± 1161 |
| D | fixed | 10 | 369.4 ± 49.9 | 81.7 ± 6.6% | 541 ± 180 | 9.3 ± 6.8 | 15021 ± 3179 | 40 ± 0 | 6572 ± 2768 | 17256 ± 2045 |
| E | VECTOR | 10 | 173.4 ± 33.6 | 97.5 ± 3.2% | 86 ± 108 | 1.2 ± 2.8 | 4584 ± 2510 | 105 ± 0 | 1788 ± 1427 | 2724 ± 1472 |
| E | native | 10 | 173.1 ± 72.1 | 94.0 ± 8.6% | 192 ± 271 | 4.3 ± 5.8 | 5619 ± 5016 | 55 ± 0 | 2234 ± 2756 | 3015 ± 2784 |
| E | veh-act | 10 | 185.5 ± 38.4 | 97.0 ± 3.5% | 102 ± 113 | 1.6 ± 2.4 | 4353 ± 2591 | 566 ± 95 | 1760 ± 1242 | 2678 ± 1283 |
| E | fixed | 10 | 367.6 ± 46.1 | 81.6 ± 6.0% | 541 ± 161 | 9.8 ± 6.8 | 14943 ± 2876 | 40 ± 0 | 6743 ± 2599 | 17371 ± 2001 |
| F | VECTOR | 10 | 174.1 ± 38.6 | 98.1 ± 1.9% | 66 ± 65 | 0.3 ± 0.7 | 4629 ± 2948 | 105 ± 0 | 1592 ± 1117 | 2574 ± 1242 |
| F | native | 10 | 162.1 ± 68.2 | 95.8 ± 7.8% | 137 ± 253 | 2.7 ± 5.3 | 5070 ± 5145 | 55 ± 0 | 1734 ± 2611 | 2491 ± 2628 |
| F | veh-act | 10 | 188.0 ± 48.4 | 97.5 ± 3.7% | 85 ± 126 | 0.8 ± 2.2 | 4407 ± 3247 | 527 ± 75 | 1526 ± 1354 | 2500 ± 1523 |
| F | fixed | 10 | 387.3 ± 54.4 | 79.2 ± 6.8% | 628 ± 185 | 11.4 ± 7.9 | 16606 ± 3500 | 40 ± 0 | 7850 ± 2993 | 18129 ± 2149 |
| G | VECTOR | 10 | 163.6 ± 22.6 | 98.6 ± 2.1% | 47 ± 69 | 0.7 ± 2.2 | 3698 ± 1673 | 105 ± 0 | 1232 ± 905 | 2385 ± 817 |
| G | native | 10 | 182.0 ± 66.3 | 92.3 ± 7.7% | 252 ± 244 | 5.9 ± 5.1 | 6653 ± 4710 | 55 ± 0 | 2792 ± 2575 | 3553 ± 2618 |
| G | veh-act | 10 | 183.9 ± 34.7 | 96.8 ± 4.1% | 109 ± 137 | 2.6 ± 4.8 | 4251 ± 2509 | 504 ± 47 | 1774 ± 1568 | 2854 ± 1434 |
| G | fixed | 10 | 382.2 ± 50.6 | 79.2 ± 6.5% | 615 ± 182 | 12.5 ± 7.2 | 16198 ± 3390 | 40 ± 0 | 7698 ± 2834 | 17990 ± 2048 |
| H | VECTOR | 10 | 458.1 ± 34.5 | 65.4 ± 3.2% | 1110 ± 49 | 18.8 ± 7.5 | 23609 ± 1836 | 105 ± 0 | 12015 ± 1917 | 13464 ± 1682 |
| H | native | 10 | 406.9 ± 34.7 | 71.3 ± 4.4% | 892 ± 102 | 14.9 ± 7.6 | 20555 ± 2252 | 55 ± 0 | 6816 ± 2034 | 8056 ± 1814 |
| H | veh-act | 10 | 480.7 ± 21.8 | 63.0 ± 2.9% | 1160 ± 54 | 29.4 ± 8.2 | 23036 ± 1665 | 810 ± 160 | 13557 ± 2220 | 14584 ± 1683 |
| H | fixed | 10 | 565.5 ± 43.1 | 59.8 ± 4.2% | 1020 ± 69 | 12.7 ± 6.4 | 25088 ± 2414 | 40 ± 0 | 11279 ± 2755 | 21048 ± 2134 |
| I | VECTOR | 10 | 242.7 ± 78.7 | 92.4 ± 8.8% | 250 ± 260 | 4.2 ± 10.5 | 8655 ± 4750 | 105 ± 0 | 4013 ± 3760 | 4899 ± 3577 |
| I | native | 10 | 258.9 ± 105.3 | 87.4 ± 11.6% | 398 ± 334 | 7.4 ± 7.1 | 11364 ± 6376 | 55 ± 0 | 4687 ± 3731 | 5522 ± 3779 |
| I | veh-act | 10 | 242.2 ± 36.1 | 94.1 ± 3.3% | 206 ± 117 | 2.2 ± 2.7 | 7836 ± 2650 | 550 ± 73 | 3099 ± 1306 | 4237 ± 1367 |
| I | fixed | 10 | 388.2 ± 50.8 | 79.1 ± 5.2% | 648 ± 178 | 9.9 ± 5.1 | 16924 ± 3722 | 40 ± 0 | 7592 ± 2339 | 18035 ± 1987 |
| J | VECTOR | 10 | 591.8 ± 47.7 | 61.1 ± 4.5% | 1284 ± 96 | 29.0 ± 9.6 | 34669 ± 2937 | 105 ± 0 | 17564 ± 3313 | 18316 ± 2676 |
| J | native | 10 | 522.7 ± 64.0 | 66.5 ± 6.5% | 1135 ± 187 | 19.5 ± 10.4 | 31963 ± 4877 | 55 ± 0 | 10463 ± 4123 | 11574 ± 3611 |
| J | veh-act | 10 | 719.0 ± 77.3 | 50.6 ± 6.4% | 1515 ± 127 | 38.8 ± 6.7 | 40756 ± 4160 | 1491 ± 377 | 24781 ± 4305 | 24570 ± 3408 |
| J | fixed | 10 | 625.2 ± 39.4 | 60.4 ± 3.8% | 1208 ± 112 | 18.5 ± 6.5 | 32844 ± 2933 | 40 ± 0 | 13721 ± 2498 | 23412 ± 2170 |
| K | VECTOR | 10 | 453.1 ± 33.8 | 71.9 ± 3.6% | 1036 ± 120 | 23.2 ± 8.4 | 27019 ± 2543 | 105 ± 0 | 13939 ± 1841 | 14543 ± 1540 |
| K | native | 10 | 341.8 ± 39.1 | 82.3 ± 4.9% | 654 ± 175 | 9.0 ± 6.3 | 19343 ± 4014 | 55 ± 0 | 6136 ± 2346 | 6939 ± 2088 |
| K | veh-act | 10 | 417.5 ± 49.8 | 77.2 ± 6.3% | 881 ± 194 | 22.0 ± 7.7 | 22696 ± 3580 | 892 ± 187 | 11137 ± 2997 | 12679 ± 2655 |
| K | fixed | 10 | 537.0 ± 52.7 | 66.9 ± 4.7% | 1093 ± 124 | 21.6 ± 5.4 | 29667 ± 3641 | 40 ± 0 | 13395 ± 2691 | 23192 ± 2183 |
| L | VECTOR | 10 | 187.6 ± 37.3 | 97.7 ± 3.7% | 78 ± 126 | 1.4 ± 3.5 | 4019 ± 2738 | 105 ± 0 | 1508 ± 1493 | 5221 ± 1549 |
| L | native | 10 | 182.0 ± 66.3 | 92.3 ± 7.7% | 252 ± 244 | 5.9 ± 5.1 | 6653 ± 4710 | 55 ± 0 | 2792 ± 2575 | 3553 ± 2618 |
| L | veh-act | 10 | 230.6 ± 28.8 | 98.8 ± 1.7% | 42 ± 57 | 2.5 ± 2.3 | 4840 ± 1747 | 925 ± 10 | 1624 ± 731 | 5046 ± 883 |
| L | fixed | 10 | 382.2 ± 50.6 | 79.2 ± 6.5% | 615 ± 182 | 12.5 ± 7.2 | 16198 ± 3390 | 40 ± 0 | 7698 ± 2834 | 17990 ± 2048 |
| M | VECTOR | 10 | 170.0 ± 32.0 | 97.7 ± 2.5% | 78 ± 87 | 1.4 ± 2.5 | 4209 ± 2371 | 105 ± 0 | 1514 ± 1024 | 2465 ± 1073 |
| M | native | 10 | 182.0 ± 66.3 | 92.3 ± 7.7% | 252 ± 244 | 5.9 ± 5.1 | 6653 ± 4710 | 55 ± 0 | 2792 ± 2575 | 3553 ± 2618 |
| M | veh-act | 10 | 194.9 ± 41.1 | 96.1 ± 4.4% | 131 ± 149 | 2.5 ± 4.3 | 5083 ± 3010 | 514 ± 95 | 1992 ± 1755 | 2985 ± 1777 |
| M | fixed | 10 | 382.2 ± 50.6 | 79.2 ± 6.5% | 615 ± 182 | 12.5 ± 7.2 | 16198 ± 3390 | 40 ± 0 | 7698 ± 2834 | 17990 ± 2048 |
| N | VECTOR | 10 | 292.3 ± 32.2 | 88.0 ± 3.3% | 400 ± 120 | 1.7 ± 3.1 | 12127 ± 2730 | 105 ± 0 | 4615 ± 1527 | 5760 ± 1522 |
| N | native | 10 | 290.8 ± 78.2 | 84.5 ± 8.4% | 520 ± 284 | 7.8 ± 6.6 | 13812 ± 5644 | 55 ± 0 | 4730 ± 3149 | 5714 ± 2992 |
| N | veh-act | 10 | 388.2 ± 93.2 | 78.4 ± 8.9% | 698 ± 252 | 15.4 ± 11.2 | 17039 ± 5805 | 875 ± 345 | 8973 ± 4532 | 10112 ± 4240 |
| N | fixed | 10 | 447.6 ± 69.2 | 75.5 ± 6.7% | 752 ± 198 | 8.5 ± 4.0 | 20656 ± 4243 | 40 ± 0 | 8329 ± 2921 | 19017 ± 2202 |
| O | VECTOR | 10 | 326.5 ± 68.3 | 81.7 ± 8.4% | 610 ± 286 | 8.2 ± 7.9 | 14478 ± 5025 | 105 ± 0 | 7446 ± 4146 | 8528 ± 3990 |
| O | native | 10 | 261.5 ± 44.1 | 86.7 ± 4.8% | 445 ± 176 | 6.8 ± 5.1 | 11694 ± 2863 | 55 ± 0 | 3746 ± 1796 | 4714 ± 1689 |
| O | veh-act | 10 | 372.1 ± 94.3 | 78.5 ± 10.7% | 663 ± 306 | 15.5 ± 11.7 | 15782 ± 5573 | 882 ± 448 | 8636 ± 5122 | 9671 ± 4812 |
| O | fixed | 10 | 455.0 ± 100.2 | 74.3 ± 10.1% | 733 ± 262 | 9.7 ± 8.6 | 19858 ± 5578 | 40 ± 0 | 8926 ± 4469 | 19412 ± 3384 |

## T2. Primary: VECTOR − native actuated, P1 (paired by seed, Holm over 16 scenarios)

| scenario | n | VECTOR | baseline | difference | 95% CI (t) | 95% CI (bootstrap) | relative | better/worse seeds | Wilcoxon p | Holm p | at 95% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R0 | 10 | 170.0 | 182.0 | -12.0 | [-69.9, 46.0] | [-63.6, 29.9] | -6.6% | 4/6 | 0.9219 | 1.0000 | not resolved |
| A | 10 | 330.1 | 302.6 | 27.5 | [-22.8, 77.7] | [-14.5, 66.4] | 9.1% | 4/6 | 0.2754 | 1.0000 | not resolved |
| B | 10 | 314.7 | 241.2 | 73.6 | [26.6, 120.5] | [37.9, 113.8] | 30.5% | 0/10 | 0.0020 | 0.0312 | VECTOR worse |
| C | 10 | 173.8 | 140.7 | 33.1 | [16.3, 49.8] | [19.4, 46.5] | 23.5% | 1/9 | 0.0039 | 0.0586 | VECTOR worse |
| D | 10 | 175.6 | 146.2 | 29.4 | [12.7, 46.2] | [15.9, 43.3] | 20.2% | 1/9 | 0.0059 | 0.0762 | VECTOR worse |
| E | 10 | 173.4 | 173.1 | 0.3 | [-57.7, 58.3] | [-51.8, 40.8] | 0.2% | 2/8 | 0.4316 | 1.0000 | not resolved |
| F | 10 | 174.1 | 162.1 | 11.9 | [-26.8, 50.7] | [-21.2, 42.4] | 7.4% | 3/7 | 0.3223 | 1.0000 | not resolved |
| G | 10 | 163.6 | 182.0 | -18.3 | [-73.4, 36.7] | [-68.8, 18.9] | -10.1% | 5/5 | 0.8457 | 1.0000 | not resolved |
| H | 10 | 458.1 | 406.9 | 51.2 | [19.9, 82.5] | [24.4, 76.9] | 12.6% | 2/8 | 0.0098 | 0.1172 | VECTOR worse |
| I | 10 | 242.7 | 258.9 | -16.2 | [-65.6, 33.3] | [-61.4, 16.7] | -6.2% | 4/6 | 0.7695 | 1.0000 | not resolved |
| J | 10 | 591.8 | 522.7 | 69.1 | [7.0, 131.2] | [16.0, 116.9] | 13.2% | 2/8 | 0.0371 | 0.3711 | VECTOR worse |
| K | 10 | 453.1 | 341.8 | 111.2 | [67.5, 154.9] | [73.5, 144.7] | 32.5% | 1/9 | 0.0039 | 0.0586 | VECTOR worse |
| L | 10 | 187.6 | 182.0 | 5.7 | [-55.0, 66.3] | [-47.8, 50.5] | 3.1% | 3/7 | 0.3750 | 1.0000 | not resolved |
| M | 10 | 170.0 | 182.0 | -12.0 | [-69.9, 46.0] | [-63.6, 29.9] | -6.6% | 4/6 | 0.9219 | 1.0000 | not resolved |
| N | 10 | 292.3 | 290.8 | 1.5 | [-56.3, 59.4] | [-47.2, 48.5] | 0.5% | 4/6 | 0.9219 | 1.0000 | not resolved |
| O | 10 | 326.5 | 261.5 | 65.1 | [11.5, 118.6] | [20.8, 108.3] | 24.9% | 1/9 | 0.0273 | 0.3008 | VECTOR worse |

## T3. Secondary: VECTOR − vehicle-actuated, P1 (Holm over 16 scenarios)

| scenario | n | VECTOR | baseline | difference | 95% CI (t) | 95% CI (bootstrap) | relative | better/worse seeds | Wilcoxon p | Holm p | at 95% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R0 | 10 | 170.0 | 194.9 | -24.9 | [-47.3, -2.6] | [-42.6, -5.8] | -12.8% | 8/2 | 0.0488 | 0.5371 | VECTOR better |
| A | 10 | 330.1 | 391.7 | -61.6 | [-104.8, -18.4] | [-97.5, -27.4] | -15.7% | 9/1 | 0.0039 | 0.0625 | VECTOR better |
| B | 10 | 314.7 | 357.0 | -42.3 | [-105.3, 20.7] | [-97.0, 7.2] | -11.8% | 5/5 | 0.3223 | 1.0000 | not resolved |
| C | 10 | 173.8 | 183.2 | -9.4 | [-26.5, 7.8] | [-22.4, 5.3] | -5.1% | 7/3 | 0.2324 | 1.0000 | not resolved |
| D | 10 | 175.6 | 184.5 | -8.8 | [-28.0, 10.3] | [-24.5, 7.0] | -4.8% | 6/4 | 0.4316 | 1.0000 | not resolved |
| E | 10 | 173.4 | 185.5 | -12.1 | [-34.3, 10.1] | [-29.2, 7.1] | -6.5% | 7/3 | 0.2754 | 1.0000 | not resolved |
| F | 10 | 174.1 | 188.0 | -13.9 | [-42.3, 14.4] | [-35.1, 11.2] | -7.4% | 7/3 | 0.2324 | 1.0000 | not resolved |
| G | 10 | 163.6 | 183.9 | -20.2 | [-39.7, -0.8] | [-35.8, -3.7] | -11.0% | 8/2 | 0.0645 | 0.5801 | VECTOR better |
| H | 10 | 458.1 | 480.7 | -22.6 | [-56.6, 11.4] | [-51.1, 4.9] | -4.7% | 6/4 | 0.2754 | 1.0000 | not resolved |
| I | 10 | 242.7 | 242.2 | 0.5 | [-54.0, 55.0] | [-35.2, 51.3] | 0.2% | 7/3 | 0.3223 | 1.0000 | not resolved |
| J | 10 | 591.8 | 719.0 | -127.3 | [-186.7, -67.8] | [-178.7, -81.1] | -17.7% | 9/1 | 0.0039 | 0.0625 | VECTOR better |
| K | 10 | 453.1 | 417.5 | 35.6 | [6.2, 64.9] | [11.2, 59.2] | 8.5% | 2/8 | 0.0273 | 0.3281 | VECTOR worse |
| L | 10 | 187.6 | 230.6 | -42.9 | [-60.3, -25.6] | [-56.3, -27.8] | -18.6% | 9/1 | 0.0039 | 0.0625 | VECTOR better |
| M | 10 | 170.0 | 194.9 | -24.9 | [-47.3, -2.6] | [-42.6, -5.8] | -12.8% | 8/2 | 0.0488 | 0.5371 | VECTOR better |
| N | 10 | 292.3 | 388.2 | -95.9 | [-154.2, -37.6] | [-146.0, -51.0] | -24.7% | 8/2 | 0.0098 | 0.1270 | VECTOR better |
| O | 10 | 326.5 | 372.1 | -45.5 | [-132.8, 41.7] | [-119.2, 24.5] | -12.2% | 5/5 | 0.3750 | 1.0000 | not resolved |

## T4. VECTOR − fixed-time, P1 (exploratory)

| scenario | n | VECTOR | baseline | difference | 95% CI (t) | 95% CI (bootstrap) | relative | better/worse seeds | Wilcoxon p | Holm p | at 95% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| R0 | 10 | 170.0 | 382.2 | -212.2 | [-260.9, -163.5] | [-253.9, -174.4] | -55.5% | 10/0 | 0.0020 | — | VECTOR better |
| A | 10 | 330.1 | 455.1 | -125.1 | [-152.1, -98.1] | [-148.2, -104.0] | -27.5% | 10/0 | 0.0020 | — | VECTOR better |
| B | 10 | 314.7 | 477.9 | -163.1 | [-220.6, -105.6] | [-207.6, -113.5] | -34.1% | 10/0 | 0.0020 | — | VECTOR better |
| C | 10 | 173.8 | 375.4 | -201.6 | [-249.7, -153.4] | [-242.3, -164.0] | -53.7% | 10/0 | 0.0020 | — | VECTOR better |
| D | 10 | 175.6 | 369.4 | -193.8 | [-247.7, -139.9] | [-240.7, -153.0] | -52.5% | 10/0 | 0.0020 | — | VECTOR better |
| E | 10 | 173.4 | 367.6 | -194.2 | [-247.1, -141.3] | [-240.7, -154.7] | -52.8% | 10/0 | 0.0020 | — | VECTOR better |
| F | 10 | 174.1 | 387.3 | -213.2 | [-258.1, -168.3] | [-252.3, -178.9] | -55.0% | 10/0 | 0.0020 | — | VECTOR better |
| G | 10 | 163.6 | 382.2 | -218.5 | [-263.3, -173.8] | [-255.4, -182.5] | -57.2% | 10/0 | 0.0020 | — | VECTOR better |
| H | 10 | 458.1 | 565.5 | -107.4 | [-141.5, -73.3] | [-136.5, -81.1] | -19.0% | 10/0 | 0.0020 | — | VECTOR better |
| I | 10 | 242.7 | 388.2 | -145.5 | [-217.1, -73.8] | [-193.8, -79.2] | -37.5% | 9/1 | 0.0059 | — | VECTOR better |
| J | 10 | 591.8 | 625.2 | -33.4 | [-81.3, 14.5] | [-72.7, 6.4] | -5.3% | 8/2 | 0.1602 | — | not resolved |
| K | 10 | 453.1 | 537.0 | -84.0 | [-113.9, -54.0] | [-107.3, -58.7] | -15.6% | 10/0 | 0.0020 | — | VECTOR better |
| L | 10 | 187.6 | 382.2 | -194.6 | [-245.7, -143.4] | [-237.4, -154.4] | -50.9% | 10/0 | 0.0020 | — | VECTOR better |
| M | 10 | 170.0 | 382.2 | -212.2 | [-260.9, -163.5] | [-253.9, -174.4] | -55.5% | 10/0 | 0.0020 | — | VECTOR better |
| N | 10 | 292.3 | 447.6 | -155.3 | [-201.6, -108.9] | [-196.4, -120.7] | -34.7% | 10/0 | 0.0020 | — | VECTOR better |
| O | 10 | 326.5 | 455.0 | -128.5 | [-207.5, -49.5] | [-198.5, -66.0] | -28.2% | 8/2 | 0.0098 | — | VECTOR better |

## T5. Secondary endpoints: VECTOR − native actuated, mean difference [95% t-CI] (exploratory)

| scenario | completion (pp) | p95 time loss (s) | gridlock | spillback (lane-s) | max red wait (s) | ineff. green (s) | wasted green (s) |
|---|---|---|---|---|---|---|---|
| R0 | 5.5 [-1.0, 11.9] | -159.6 [-442.7, 123.5] | -4.5 [-9.0, -0.0] | -2444 [-6585, 1697] | 50 [50, 50] | -1279 [-3517, 959] | -1088 [-3365, 1188] |
| A | 3.2 [-2.2, 8.6] | -42.2 [-196.5, 112.0] | -3.0 [-6.6, 0.6] | -388 [-3652, 2876] | 50 [50, 50] | 291 [-1768, 2350] | 780 [-1133, 2693] |
| B | -4.6 [-11.3, 2.1] | 96.7 [-84.6, 277.9] | 1.1 [-6.4, 8.6] | 3144 [-257, 6545] | 50 [50, 50] | 3265 [571, 5959] | 3129 [530, 5728] |
| C | -2.0 [-4.9, 0.8] | 79.6 [-15.7, 174.8] | 1.1 [-2.1, 4.3] | 1016 [-563, 2596] | 50 [50, 50] | 1072 [8, 2137] | 1160 [245, 2074] |
| D | -0.3 [-2.9, 2.2] | 16.6 [-104.3, 137.5] | 0.0 [-2.9, 2.9] | 889 [-374, 2153] | 50 [50, 50] | 719 [-261, 1700] | 854 [12, 1696] |
| E | 3.4 [-3.6, 10.5] | -103.1 [-391.9, 185.7] | -3.1 [-8.0, 1.8] | -1035 [-5078, 3007] | 50 [50, 50] | -445 [-2863, 1972] | -291 [-2740, 2158] |
| F | 2.3 [-2.5, 7.0] | 9.2 [-155.9, 174.2] | -2.4 [-6.3, 1.5] | -440 [-3513, 2632] | 50 [50, 50] | -142 [-1751, 1466] | 82 [-1445, 1609] |
| G | 6.4 [1.0, 11.7] | -192.3 [-453.1, 68.4] | -5.2 [-8.6, -1.8] | -2955 [-6730, 820] | 50 [50, 50] | -1560 [-3443, 323] | -1168 [-3157, 821] |
| H | -5.9 [-9.9, -1.9] | 36.1 [-2.5, 74.8] | 3.9 [-4.8, 12.6] | 3054 [1046, 5061] | 50 [50, 50] | 5199 [3055, 7343] | 5408 [3524, 7291] |
| I | 5.0 [-1.3, 11.3] | -203.4 [-385.0, -21.8] | -3.2 [-10.6, 4.2] | -2709 [-5981, 564] | 50 [50, 50] | -674 [-3160, 1813] | -622 [-2942, 1697] |
| J | -5.3 [-12.0, 1.4] | 86.1 [-42.8, 215.0] | 9.5 [-1.7, 20.7] | 2706 [-2281, 7694] | 50 [50, 50] | 7100 [2709, 11491] | 6742 [3049, 10436] |
| K | -10.4 [-15.7, -5.1] | 112.1 [28.4, 195.7] | 14.2 [4.8, 23.6] | 7676 [3502, 11850] | 50 [50, 50] | 7803 [5099, 10508] | 7604 [5348, 9859] |
| L | 5.4 [-1.7, 12.5] | -150.0 [-437.6, 137.5] | -4.5 [-9.9, 0.9] | -2633 [-7010, 1743] | 50 [50, 50] | -1284 [-3759, 1190] | 1668 [-848, 4183] |
| M | 5.5 [-1.0, 11.9] | -159.6 [-442.7, 123.5] | -4.5 [-9.0, -0.0] | -2444 [-6585, 1697] | 50 [50, 50] | -1279 [-3517, 959] | -1088 [-3365, 1188] |
| N | 3.5 [-3.3, 10.3] | -179.1 [-400.5, 42.3] | -6.1 [-12.1, -0.1] | -1685 [-6012, 2641] | 50 [50, 50] | -115 [-2820, 2589] | 47 [-2537, 2630] |
| O | -5.0 [-12.2, 2.1] | 116.4 [-96.7, 329.5] | 1.4 [-6.1, 8.9] | 2783 [-1210, 6776] | 50 [50, 50] | 3700 [423, 6977] | 3814 [716, 6912] |

## T6. Named emergency vehicles: travel time (s), mean over seeds; arrived/n

| scenario | vehicle | VECTOR | native | veh-act | fixed | VECTOR − native [95% CI] | VECTOR priority decisions (mean) |
|---|---|---|---|---|---|---|---|
| C | amb1 | 121 (10/10) | 168 (10/10) | 191 (10/10) | 227 (10/10) | -46.5 [-62.1, -30.9] | 48 |
| D | amb1 | 126 (10/10) | 168 (10/10) | 197 (10/10) | 226 (10/10) | -42.0 [-54.1, -29.9] | 46 |
| D | fire1 | 138 (10/10) | 204 (10/10) | 209 (10/10) | 278 (10/10) | -65.7 [-87.5, -43.9] | 60 |
| E | amb1 | 127 (10/10) | 171 (10/10) | 194 (10/10) | 227 (10/10) | -43.8 [-59.4, -28.2] | 43 |
| E | fire1 | 139 (10/10) | 205 (10/10) | 208 (10/10) | 299 (10/10) | -66.7 [-87.8, -45.6] | 61 |
| E | pol1 | 111 (10/10) | 150 (10/10) | 152 (10/10) | 213 (10/10) | -39.3 [-56.3, -22.3] | 42 |
| K | amb1 | 169 (10/10) | 171 (10/10) | 225 (10/10) | 422 (10/10) | -1.8 [-28.9, 25.3] | 85 |
| K | fire1 | 253 (10/10) | 391 (10/10) | 474 (10/10) | 319 (9/10) | -138.0 [-193.0, -83.0] | 149 |
| K | pol1 | 1572 (5/10) | 1553 (7/10) | — (0/10) | 1576 (2/10) | 107.0 [-362.3, 576.3] | 1075 |
| O | amb1 | 116 (10/10) | 177 (10/10) | 172 (10/10) | 197 (10/10) | -61.1 [-76.7, -45.5] | 43 |
| O | fire1 | 150 (10/10) | 215 (10/10) | 198 (10/10) | 299 (8/10) | -64.8 [-85.5, -44.1] | 52 |

## T7. VECTOR's shadow forecasts against SUMO (total queue at the junction, horizon 8 s; means over seeds)

| scenario | forecasts | MAE | RMSE | bias | persistence MAE | persistence RMSE | seeds where shadow beats persistence |
|---|---|---|---|---|---|---|---|
| R0 | 497144 | 1.595 | 3.289 | 0.066 | 1.183 | 2.210 | 0/10 |
| A | 519710 | 2.235 | 4.491 | 0.127 | 1.488 | 2.717 | 0/10 |
| B | 525085 | 1.952 | 4.074 | 0.031 | 1.325 | 2.505 | 0/10 |
| C | 496845 | 1.592 | 3.349 | 0.048 | 1.177 | 2.220 | 0/10 |
| D | 497230 | 1.637 | 3.391 | 0.078 | 1.206 | 2.256 | 0/10 |
| E | 497477 | 1.589 | 3.295 | 0.061 | 1.180 | 2.203 | 0/10 |
| F | 498280 | 1.617 | 3.290 | 0.089 | 1.198 | 2.224 | 0/10 |
| G | 499000 | 1.777 | 3.604 | -0.136 | 2.620 | 6.239 | 10/10 |
| H | 548014 | 2.246 | 4.535 | -0.085 | 1.500 | 2.789 | 0/10 |
| I | 510767 | 1.859 | 3.836 | 0.122 | 1.288 | 2.388 | 0/10 |
| J | 567307 | 2.344 | 4.682 | -0.016 | 1.500 | 2.808 | 0/10 |
| K | 537981 | 2.011 | 4.013 | -0.063 | 1.381 | 2.564 | 0/10 |
| L | 560941 | 2.008 | 3.882 | -0.110 | 1.724 | 3.268 | 0/10 |
| M | 144341 | 1.254 | 2.194 | -0.015 | 1.113 | 1.878 | 0/10 |
| N | 519907 | 2.310 | 4.716 | 0.170 | 1.504 | 2.749 | 0/10 |
| O | 520755 | 1.872 | 3.834 | 0.008 | 1.286 | 2.403 | 0/10 |

Concept shift (H, from 900 s): shadow MAE 1.254 before → 2.601 after; persistence 1.113 → 1.639. By 300 s bin: 0: 0.668, 1200: 3.645, 1500: 3.259, 1800: 2.790, 2100: 1.955, 2400: 1.694, 300: 1.442, 600: 1.725, 900: 2.760.

## T8. Runtime (per trial, then mean over trials) and safety totals by arm

| arm | trials | decide p50 (ms) | decide p95 | decide p99 | decide max | 36-junction cycle p95 (ms) | wall (s) | timing viol. | illegal states | invalid req. | teleports | collisions | route changes | health not ok |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VECTOR | 160 | 0.175 | 1.983 | 2.803 | 224.7 | 24.390 | 55.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| native | 160 | — | — | — | 0.0 | — | 18.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| veh-act | 160 | 0.000 | 0.001 | 0.002 | 6.8 | 0.640 | 20.7 | 0 | 0 | 0 | 1 | 2 | 0 | 1 |
| fixed | 160 | 0.000 | 0.001 | 0.002 | 6.1 | 0.986 | 21.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| VECTOR (no shadow) | 160 | 0.021 | 0.056 | 0.082 | 20.4 | 1.728 | 22.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

## T9. Integrity

* Trials ok: 800; failed: 0.
* Shadow non-influence: identical signal sequences in 160 of 160 paired trials (`vector` vs `vector_noshadow`).
* Shadow failures by scenario: {"A": 0, "B": 0, "C": 0, "D": 0, "E": 0, "F": 0, "G": 0, "H": 0, "I": 0, "J": 0, "K": 0, "L": 0, "M": 255217, "N": 0, "O": 0, "R0": 0}.
* Health not ok: [['G', 'vehicle_actuated', 95009]].

