Benchmark

Same logs, same rules. Scores in the open.

kshana-bench is a fixed set of tasks, splits and metrics for GNSS interference detection and timing holdover, so that different methods can be compared on the same data. A submission is a file; nothing runs on the submitter's behalf. Baselines are the engine's own monitors, with bars written down before the first scored run.

01The board

Result files, scored by the engine.

kshana-bench leaderboard

Result files scored under kshana-bench/2.0.0. A row says this file scored this number on this split. It does not mean any product has been rated or approved by anyone, and no organisation is named as an endorser.

Advisory: modelled or measured against stated references, not an approval, certification or statement of conformance. A score describes a log or corpus, never a product.

Task (a): detection on receiver logs

Split: dev
SystemAUCP_d at P_fa cap (upper bound)ProvenanceTruth SHA-256
kshana receiver-trust agc_k_sigma (0.35 default monitor statistic) kshana-bench/2.0.00.9810.875scored334946332bb0
kshana receiver-trust cn0_drop_db (0.35 default monitor statistic) kshana-bench/2.0.00.9520.904scored334946332bb0
kshana receiver-trust jam_ind_threshold (0.35 default monitor statistic) kshana-bench/2.0.00.9090.147scored334946332bb0
Split: holdout
SystemAUCP_d at P_fa cap (upper bound)ProvenanceTruth SHA-256
kshana receiver-trust agc_k_sigma (0.35 default monitor statistic) kshana-bench/2.0.01.0000.000scored38b7d5e8b158
kshana receiver-trust jam_ind_threshold (0.35 default monitor statistic) kshana-bench/2.0.00.6100.148scored38b7d5e8b158
kshana receiver-trust cn0_drop_db (0.35 default monitor statistic) kshana-bench/2.0.00.5640.562scored38b7d5e8b158
Split: test
SystemAUCP_d at P_fa cap (upper bound)ProvenanceTruth SHA-256
kshana receiver-trust cn0_drop_db (0.35 default monitor statistic) kshana-bench/2.0.00.8640.522scoredee721e0bf7dc
kshana receiver-trust agc_k_sigma (0.35 default monitor statistic) kshana-bench/2.0.00.7660.000scoredee721e0bf7dc
kshana receiver-trust jam_ind_threshold (0.35 default monitor statistic) kshana-bench/2.0.00.5560.104scoredee721e0bf7dc

Task (b): detection on IQ

Split: test
SystemAUCP_d at P_fa cap (upper bound)ProvenanceTruth SHA-256
kshana iq monitors: cn0_drop (CUSUM) kshana-bench/2.0.00.785n/acarried: docs/design/DETECTION-ROC.md section 3: the R1 campaign of tests/iq_campaign_roc.rs, run 2026-10-13; not re-run for bench v1. Bar R1 (AUC >= 0.95) was NOT MET.000000000000

Task (c): timing holdover prediction

Split: dev
SystemRMSE 3600 s (ns)RMSE 300 s (ns)RMSE 7200 s (ns)ProvenanceTruth SHA-256
kshana-bench baseline: linear kshana-bench/2.0.00.1280.0190.198scored2b71fa325bff
kshana-bench baseline: quadratic kshana-bench/2.0.00.1350.0190.235scored2b71fa325bff
kshana-bench baseline: hold kshana-bench/2.0.026.8762.23853.778scored2b71fa325bff
Split: test
SystemRMSE 3600 s (ns)RMSE 300 s (ns)RMSE 7200 s (ns)ProvenanceTruth SHA-256
kshana-bench baseline: linear kshana-bench/2.0.00.1620.0230.243scoredb2ed58864e98
kshana-bench baseline: quadratic kshana-bench/2.0.00.1830.0240.290scoredb2ed58864e98
kshana-bench baseline: hold kshana-bench/2.0.024.6122.05049.314scoredb2ed58864e98

Task (d): out-of-distribution optimism gap

Split: dev
SystemAUC inAUC outOptimism gapFlagProvenanceTruth SHA-256
impairment-eval baseline: fused(max-z) kshana-bench/2.0.00.9980.9820.015within tolerancescoredf69917c70201
impairment-eval baseline: sqm-imbalance kshana-bench/2.0.00.8670.8660.001within tolerancescoredf69917c70201
impairment-eval baseline: agc-excess kshana-bench/2.0.00.8540.8280.026within tolerancescoredf69917c70201
impairment-eval baseline: raim-parity kshana-bench/2.0.00.6550.6420.013within tolerancescoredf69917c70201
impairment-eval baseline: energy(cn0-drop) kshana-bench/2.0.00.6100.5720.038within tolerancescoredf69917c70201
Split: test
SystemAUC inAUC outOptimism gapFlagProvenanceTruth SHA-256
impairment-eval baseline: fused(max-z) kshana-bench/2.0.00.9980.9830.015within tolerancescored1dddb8f6f0d5
impairment-eval baseline: sqm-imbalance kshana-bench/2.0.00.8820.8820.001within tolerancescored1dddb8f6f0d5
impairment-eval baseline: agc-excess kshana-bench/2.0.00.8480.8190.030within tolerancescored1dddb8f6f0d5
impairment-eval baseline: raim-parity kshana-bench/2.0.00.6820.6720.010within tolerancescored1dddb8f6f0d5
impairment-eval baseline: energy(cn0-drop) kshana-bench/2.0.00.5950.5650.030within tolerancescored1dddb8f6f0d5

Every score is modelled unless a row says an external oracle agreed. Licence of the specification and manifests: CC-BY-4.0 / CC0 proposed, owner decision pending. The real-data holdout is not secret: see the specification, section 4.

02What a row means

A score describes a log, not a product.

  • A row says: this file scored X on split S under specification version V. It does not say a product is certified, conformant, approved or endorsed, and no organisation is named as an endorser.
  • The data are recorded or synthetic and named in the specification. Third-party data is never copied into the repository: manifests and fetch scripts pin each file by SHA-256, and each licence is recorded before the data is used.
  • The truth for a recorded log is the test plan's scheduled slots, not recorded on-air times, so a detection probability is a lower bound. The specification says so beside each task.
  • A sealed holdout is scored only in a leaderboard round, and its seed is revealed after it. Bars for any baseline that claims a number are committed before the scored run and never loosened afterwards; a miss is recorded as NOT MET.
  • Advisory only: Kshana results are modelled or measured against stated references, not an approval or a statement of conformance.

Run it yourself: kshana bench score turns a submission and a split's truth into a result file; kshana bench leaderboard renders result files into this page.