Experiments / E4

Hard failures

Does local fallback preserve delivery under repairable link and satellite outages?

Label: DERIVED statistics and accounting Label: MODELLED network outcomes

Pre-registered hypothesis

ChronoRoute with greedy-with-visited improves PDR and blackhole time relative to continue and CRH-16, without a material effective-tail penalty relative to SNAP or LS-H+BFD. O-T is a privileged reference, not an implementable competitor.

Frozen preregistration, identified and verified against this result’s manifest.

Verdict

Mixed: against continue and CRH-16 the greedy-with-visited fallback has higher PDR in every outage cell (Holm-significant in 2) and lower registered blackhole time in every outage cell (Holm-significant in 7), but that metric excludes the fallback’s own hop_limit and loop losses, and the no-tail-penalty hypothesis is not supported against LS-H (tail-failure indicator above zero in 3 cells).

  • PDR, greedy_visited higher than: continue 8 of 8 cells (Holm-significant in 2), crh16 8 of 8 cells (Holm-significant in 2).
  • Registered blackhole time, greedy_visited lower than: continue 8 of 8 cells (Holm-significant in 7), crh16 8 of 8 cells (Holm-significant in 7).
  • The blackhole metric counts only next_link_down, no_fallback and stuck losses (plus in-flight and node_down), not the fallback’s own hop_limit or loop losses. greedy_visited has 0 counted blackhole losses in 2 of 8 outage cells yet still loses packets there. Example, C2 link-B: blackhole 0 s with 0 counted losses, but 1068 of 216000 packets lost (PDR 0.995056); LS-H has blackhole 0.0458 s with 250 counted losses and PDR 0.998704.
  • No-tail-penalty hypothesis not supported against LS-H: the paired tail-failure indicator (greedy_visited minus LS-H) is above zero in C5 link-B 0.167 [0.0388, 0.295], C5 node-A 0.111 [0.00327, 0.219], C5 node-B 0.139 [0.0202, 0.258]. The registered material-loss rule needs a finite latency ratio, so its list is empty for tails by construction.
  • Against SNAP the paired tail-failure indicator is not above zero in any cell.
  • LS-H has a higher PDR point estimate than greedy_visited in 7 of 8 cells (Holm-significant in 0).
  • Time to mitigation (a registered secondary endpoint) is censored in 165 of 165 greedy_visited outages, because fallback packets still meet the dead link by definition, against 115 of 165 for LS-H.
  • Intervals quoted here are the registered paired Student-t 95% intervals; paired_contrasts.csv also holds bootstrap intervals.

Every number in this verdict is computed at build time from the verified summary.csv and the registered paired comparisons in paired_contrasts.csv (SHA-256 3c88932026887e44d7aba25f5488a7adb2c0b1f4eee15ca6710e7e9c0a24d231, checked against the manifest).

C5 orbital inputs are REAL public data; C2 orbits and positions are MODELLED. Topology, probes, faults and network behaviour are MODELLED. Starlink’s operational routing is UNKNOWN; Starlink does not use T-CRH.

Charts and data

Download CSV · Download manifest · Download paired contrasts

Source: results/E04/20261011T185503Z-collected/summary.csv. SHA-256: 4cc180dd4624e55c041084a82879796c90fbad256ded478e749b33f5415270c1.

This first view shows the 6 rows of the initial selection, out of 60. With scripting, the page loads the same summary.csv offered for download and checks its SHA-256 against the manifest before other selections are enabled.

Packet delivery ratio (proportion). Shaded bands show recorded 95% confidence intervals over runs, not packets.
Values and confidence bounds from the verified summary CSV. Exact values are available in the data table. Infinite and undefined values are listed below.0.984611.0005continue / C2 / link-A: 0.9903472222222223; 95% CI [0.98461101409647, 0.9960834303479745]continuecrh16 / C2 / link-A: 0.9903472222222223; 95% CI [0.98461101409647, 0.9960834303479745]crh16greedy_visited / C2 / link-A: 0.9987314814814816; 95% CI [0.9969237578787069, 1.0005392050842563]greedy_visitedls_h / C2 / link-A: 0.999050925925926; 95% CI [0.9986389905794738, 0.9994628612723783]ls_ho_t / C2 / link-A: 0.999925925925926; 95% CI [0.9998803227635816, 0.9999715290882704]o_tsnap / C2 / link-A: 0.9903472222222223; 95% CI [0.98461101409647, 0.9960834303479745]snap

Data table

Showing 1–6 of 6 matching rows. The download contains every original row and column.

Values from summary.csv. Empty fields are shown as undefined; infinite effective latency remains infinite; a p-value stored as 0 is shown as below numerical resolution.
constconditionschemencompletepdr_meanpdr_lopdr_hisentdeliveredblackhole_meanblackhole_loblackhole_hiblackhole_nblackhole_lossesoutagesttm_censoredeffective_p99_meaneffective_p99_loeffective_p99_hiinfinite_tail_runsstretch_violationsstretch_min_exactstretch_min_raw
C2link-Acontinue36True0.99034722222222230.984611014096470.99608343034797452160002139150.50857665143750.252978954921797450.76417434795320251620692020∞∞∞1001.00.9204625410010439
C2link-Acrh1636True0.99034722222222230.984611014096470.99608343034797452160002139150.50857601943750.25297825985546920.76417377901953081620692020∞∞∞1001.00.9204625410010439
C2link-Agreedy_visited36True0.99873148148148160.99692375787870691.00053920508425632160002157260.00.00.01602020∞∞∞201.00.9204625410010439
C2link-Als_h36True0.9990509259259260.99863899057947380.99946286127237832160002157950.04350796993750.038501496190154420.048514443684845581618920160.042466332722222220.037544263440915170.04738840200352928001.00.9845854585851683
C2link-Ao_t36True0.9999259259259260.99988032276358160.99997152908827042160002159840.00.00.016020160.042382214986111110.037442118937032460.04732231103518976001.00.9999608004211481
C2link-Asnap36True0.99034722222222230.984611014096470.99608343034797452160002139150.50857505943750.25297724345273570.76417287542226431620692020∞∞∞1001.00.9204625410010439

Where ChronoRoute loses

Every listed point disadvantage is retained, including privileged-oracle advantages. Where a registered paired comparison exists for the same cell, its paired Student-t 95% interval and Holm-adjusted p-value are quoted; otherwise marginal intervals alone do not establish a significant loss. Ties in the predicted stuck-loss reduction are listed as unsupported advantages.

Blackhole rows show the counted blackhole losses and PDR beside each time, because the registered blackhole metric does not count the fallback’s own hop_limit and loop losses.

The registered tail hypothesis is “no material effective-tail penalty against SNAP or LS-H”; the verdict reports the paired tail-failure indicator against LS-H, where it is not supported.

Descriptive comparisons from the same summary; source row numbers count data rows, excluding the header.
CellMetricPolicyChronoRouteComparatorComparator valueInterpretationSource rows
C2 / link-Apdr_meangreedy_visited0.9987314814814816ls_h0.999050925925926Not significant after adjustment; paired difference -0.000319 [-0.00195, 0.00131] (Student-t 95%), Holm-adjusted p 13, 4
C2 / link-Aeffective_p99_meangreedy_visited∞ls_h0.04246633272222222Paired tail-failure indicator difference 0.0556 [-0.023, 0.134] (latency contrast undefined with infinite tails)3, 4
C2 / link-Apdr_meangreedy_visited0.9987314814814816o_t0.999925925925926Privileged oracle advantage3, 5
C2 / link-Aeffective_p99_meangreedy_visited∞o_t0.04238221498611111Privileged oracle advantage3, 5
C2 / link-Bpdr_meangreedy_visited0.9950555555555556ls_h0.9987037037037036Not significant after adjustment; paired difference -0.00365 [-0.0106, 0.00335] (Student-t 95%), Holm-adjusted p 19, 10
C2 / link-Beffective_p99_meangreedy_visited∞ls_h0.04247254200000001Paired tail-failure indicator difference 0.0556 [-0.023, 0.134] (latency contrast undefined with infinite tails)9, 10
C2 / link-Bpdr_meangreedy_visited0.9950555555555556o_t0.9998611111111111Privileged oracle advantage9, 11
C2 / link-Beffective_p99_meangreedy_visited∞o_t0.04241687715277778Privileged oracle advantage9, 11
C2 / node-Aeffective_p99_meangreedy_visited∞ls_h0.04224694323611111Paired tail-failure indicator difference 0.0278 [-0.0286, 0.0842] (latency contrast undefined with infinite tails)15, 16
C2 / node-Apdr_meangreedy_visited0.9997314814814815o_t0.9999490740740742Privileged oracle advantage15, 17
C2 / node-Ablackhole_meangreedy_visited0.0021844280833333333 (blackhole_losses 11; pdr_mean 0.9997314814814815; sent 216000; delivered 215942)o_t0.00218405475 (blackhole_losses 11; pdr_mean 0.9999490740740742; sent 216000; delivered 215989)Privileged oracle advantage15, 17
C2 / node-Aeffective_p99_meangreedy_visited∞o_t0.04222430769444445Privileged oracle advantage15, 17
C2 / node-Bpdr_meangreedy_visited0.9986157407407408ls_h0.9989537037037037Not significant after adjustment; paired difference -0.000338 [-0.00217, 0.00149] (Student-t 95%), Holm-adjusted p 121, 22
C2 / node-Beffective_p99_meangreedy_visited∞ls_h0.042408269180555555Paired tail-failure indicator difference 0.0556 [-0.023, 0.134] (latency contrast undefined with infinite tails)21, 22
C2 / node-Bpdr_meangreedy_visited0.9986157407407408o_t0.999925925925926Privileged oracle advantage21, 23
C2 / node-Bblackhole_meangreedy_visited0.001975061736842105 (blackhole_losses 16; pdr_mean 0.9986157407407408; sent 216000; delivered 215701)o_t0.001974679421052632 (blackhole_losses 16; pdr_mean 0.999925925925926; sent 216000; delivered 215984)Privileged oracle advantage21, 23
C2 / node-Beffective_p99_meangreedy_visited∞o_t0.042389431972222225Privileged oracle advantage21, 23
C2 / noneeffective_p99_meangreedy_visited0.04214753018055555crh160.04214594440277778Point disadvantage; adjusted paired significance unavailable27, 26
C2 / noneeffective_p99_meangreedy_visited0.04214753018055555ls_h0.04214348751388888Point disadvantage; adjusted paired significance unavailable27, 28
C2 / noneeffective_p99_meangreedy_visited0.04214753018055555o_t0.04214594440277778Privileged oracle advantage27, 29
C2 / noneeffective_p99_meangreedy_visited0.04214753018055555snap0.04214348751388888Point disadvantage; adjusted paired significance unavailable27, 30
C5 / link-Apdr_meangreedy_visited0.998564814814815ls_h0.9991064814814814Not significant after adjustment; paired difference -0.000542 [-0.00172, 0.000641] (Student-t 95%), Holm-adjusted p 133, 34
C5 / link-Ablackhole_meangreedy_visited0.11604816186666665 (blackhole_losses 176; pdr_mean 0.998564814814815; sent 216000; delivered 215690)ls_h0.0408463977 (blackhole_losses 175; pdr_mean 0.9991064814814814; sent 216000; delivered 215807)Not significant after adjustment; paired difference 0.0752 [-0.0997, 0.25] (Student-t 95%), Holm-adjusted p 133, 34
C5 / link-Aeffective_p99_meangreedy_visited∞ls_h0.05208291034722222Paired tail-failure indicator difference 0.0833 [-0.0115, 0.178] (latency contrast undefined with infinite tails)33, 34
C5 / link-Apdr_meangreedy_visited0.998564814814815o_t0.9999212962962964Privileged oracle advantage33, 35
C5 / link-Ablackhole_meangreedy_visited0.11604816186666665 (blackhole_losses 176; pdr_mean 0.998564814814815; sent 216000; delivered 215690)o_t0.0 (blackhole_losses 0; pdr_mean 0.9999212962962964; sent 216000; delivered 215983)Privileged oracle advantage33, 35
C5 / link-Aeffective_p99_meangreedy_visited∞o_t0.05196379601388889Privileged oracle advantage33, 35
C5 / link-Bpdr_meangreedy_visited0.9951527777777778ls_h0.9988518518518519Not significant after adjustment; paired difference -0.0037 [-0.00834, 0.000946] (Student-t 95%), Holm-adjusted p 139, 40
C5 / link-Bblackhole_meangreedy_visited0.29159384357894735 (blackhole_losses 557; pdr_mean 0.9951527777777778; sent 216000; delivered 214953)ls_h0.04396952768421052 (blackhole_losses 233; pdr_mean 0.9988518518518519; sent 216000; delivered 215752)Not significant after adjustment; paired difference 0.248 [-0.249, 0.744] (Student-t 95%), Holm-adjusted p 139, 40
C5 / link-Beffective_p99_meangreedy_visited∞ls_h0.05219960154166667Paired tail-failure indicator difference 0.167 [0.0388, 0.295] (latency contrast undefined with infinite tails)39, 40
C5 / link-Bpdr_meangreedy_visited0.9951527777777778o_t0.9999305555555557Privileged oracle advantage39, 41
C5 / link-Bblackhole_meangreedy_visited0.29159384357894735 (blackhole_losses 557; pdr_mean 0.9951527777777778; sent 216000; delivered 214953)o_t0.0 (blackhole_losses 0; pdr_mean 0.9999305555555557; sent 216000; delivered 215985)Privileged oracle advantage39, 41
C5 / link-Beffective_p99_meangreedy_visited∞o_t0.05210414280555556Privileged oracle advantage39, 41
C5 / node-Apdr_meangreedy_visited0.9989166666666667ls_h0.9992083333333333Not significant after adjustment; paired difference -0.000292 [-0.0012, 0.00062] (Student-t 95%), Holm-adjusted p 145, 46
C5 / node-Ablackhole_meangreedy_visited0.0770798540595238 (blackhole_losses 22; pdr_mean 0.9989166666666667; sent 216000; delivered 215766)ls_h0.04522000405952381 (blackhole_losses 171; pdr_mean 0.9992083333333333; sent 216000; delivered 215829)Not significant after adjustment; paired difference 0.0319 [-0.0969, 0.161] (Student-t 95%), Holm-adjusted p 145, 46
C5 / node-Aeffective_p99_meangreedy_visited∞ls_h0.05231066758333333Paired tail-failure indicator difference 0.111 [0.00327, 0.219] (latency contrast undefined with infinite tails)45, 46
C5 / node-Apdr_meangreedy_visited0.9989166666666667o_t0.9999583333333333Privileged oracle advantage45, 47
C5 / node-Ablackhole_meangreedy_visited0.0770798540595238 (blackhole_losses 22; pdr_mean 0.9989166666666667; sent 216000; delivered 215766)o_t0.0011382986309523807 (blackhole_losses 9; pdr_mean 0.9999583333333333; sent 216000; delivered 215991)Privileged oracle advantage45, 47
C5 / node-Aeffective_p99_meangreedy_visited∞o_t0.052054026291666666Privileged oracle advantage45, 47
C5 / node-Bpdr_meangreedy_visited0.9970138888888889ls_h0.9989074074074075Not significant after adjustment; paired difference -0.00189 [-0.00442, 0.000637] (Student-t 95%), Holm-adjusted p 151, 52
C5 / node-Bblackhole_meangreedy_visited0.27117537153125004 (blackhole_losses 33; pdr_mean 0.9970138888888889; sent 216000; delivered 215355)ls_h0.04849676669791667 (blackhole_losses 236; pdr_mean 0.9989074074074075; sent 216000; delivered 215764)Not significant after adjustment; paired difference 0.223 [-0.226, 0.671] (Student-t 95%), Holm-adjusted p 151, 52
C5 / node-Beffective_p99_meangreedy_visited∞ls_h0.05231428495833334Paired tail-failure indicator difference 0.139 [0.0202, 0.258] (latency contrast undefined with infinite tails)51, 52
C5 / node-Bpdr_meangreedy_visited0.9970138888888889o_t0.9999212962962964Privileged oracle advantage51, 53
C5 / node-Bblackhole_meangreedy_visited0.27117537153125004 (blackhole_losses 33; pdr_mean 0.9970138888888889; sent 216000; delivered 215355)o_t0.0015055948437499998 (blackhole_losses 17; pdr_mean 0.9999212962962964; sent 216000; delivered 215983)Privileged oracle advantage51, 53
C5 / node-Beffective_p99_meangreedy_visited∞o_t0.052210767944444444Privileged oracle advantage51, 53
C5 / noneeffective_p99_meangreedy_visited0.051875170333333324crh160.051871394333333334Point disadvantage; adjusted paired significance unavailable57, 56
C5 / noneeffective_p99_meangreedy_visited0.051875170333333324ls_h0.051865258736111114Point disadvantage; adjusted paired significance unavailable57, 58
C5 / noneeffective_p99_meangreedy_visited0.051875170333333324o_t0.05187139206944444Privileged oracle advantage57, 59
C5 / noneeffective_p99_meangreedy_visited0.051875170333333324snap0.051865258736111114Point disadvantage; adjusted paired significance unavailable57, 60

Limitations

  • Outages and repair histories are MODELLED, not operational measurements.
  • The registered blackhole metric counts only losses with reason next_link_down, no_fallback or stuck (plus in-flight and node_down losses). Losses of the fallback itself to hop_limit or loop are not counted, so a fallback can show zero blackhole time while still losing packets. The counted losses (blackhole_losses) and PDR are always shown beside it.
  • Blackhole estimates condition on runs with outages; their denominator can differ from delivery estimates.
  • Losses have infinite effective latency. Infinite tails and unavailable intervals remain visible. The registered material-loss rule needs a finite latency ratio, which is undefined with infinite tails, so it can never fire for tails here; the paired tail-failure indicator is used instead.
  • Time to mitigation is censored for fallback outages by construction: fallback packets still meet the dead link.
  • Paired comparisons quoted in the verdict come from paired_contrasts.csv: paired Student-t 95% intervals (primary) and Holm-adjusted p-values. Chart intervals are marginal per-cell intervals.
  • Stretch depends on the send-time graph and step-crossing tolerance. Raw values and exact-domain violations must be distinguished.

These pages use only summary.csv and manifest.json, plus paired_contrasts.csv for the verdict and the paired comparisons quoted above; each file is checked against the manifest SHA-256. They do not infer missing comparisons from figures, reports, raw traces or other result files.

How this was made

Recorded producer
E04 confirmatory campaign (1.0.0.dev0)
Manifest commit
a18cffb6da450ea4449acf46f455b474fee2dcbf; dirty: false
Run
72ec12b9fa5fe971
Time
2026-10-11T18:55:03.615744Z to 2026-10-11T18:56:02.383818Z; 58.768053 seconds of recorded host wall time (REAL)
Recovery

The registered simulations ran at the producer commit. The first collection crashed while writing the new tail-failure columns, so the collector commit only re-collected the finished runs; no simulation was rerun, and the per-run and summary tables are byte-identical to the first collection. recovery.json and runtime.json in the result folder record this. This summary covers 2160 runs.

Snapshot
20261010T1358Z-celestrak; SHA-256: c37e70812155c2d1d9eeb3e96681303c00c9fca91287939b21bf5313ce83aecd
Seeds
1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035
Command
venv/bin/python -B experiments/policy_campaign.py --out results/E04/20261011T185503Z-collected --workers 8 --collect-from results/E04/20261011T175659Z-confirmatory --collect-log /tmp/chronoroute-e04-campaign.log --experiment E04
Config SHA-256
f62a944ee88ca32512c23d2b7be1f0e4b0e4ac9a7b7ba6ef57febd31f916c78c
Labels
  • isl_topology_grid4: MODELLED
  • link_rate_and_queues: MODELLED
  • orbital_elements: REAL
  • routes_and_budgets: DERIVED
  • traffic_probes: MODELLED

C2 override: C2 elements and positions MODELLED

Manifest

chronoroute.manifest/1; 2178 recorded output files (21020543 bytes); 9 recorded input hashes. Download the full manifest (385246 bytes, SHA-256 9bf1a0af4efa3f60256c12052f25e2f6ca421cc1e3e2d4b74dd83cfcee8cf15c) for the configuration, versions, host and every input and output hash.

  • summary.csv: 62373 bytes, SHA-256 4cc180dd4624e55c041084a82879796c90fbad256ded478e749b33f5415270c1
  • paired_contrasts.csv: 27885 bytes, SHA-256 3c88932026887e44d7aba25f5488a7adb2c0b1f4eee15ca6710e7e9c0a24d231
  • Versions: chronoroute 1.0.0.dev0; matplotlib 3.11.1; networkx 3.6.1; numpy 2.5.3; python 3.14.4; sgp4 2.27
  • Host (REAL): cpu_model: 13th Gen Intel(R) Core(TM) i9-13900H; logical_cores: 20; machine: x86_64; platform: Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.43; ram_bytes: 8131358720

For collected results, the manifest commit identifies the collector. Input hashes preserve the producer chain in the downloaded manifest; this page does not load those additional files.