Repository navigation
v0.20.0
This release adds four study capabilities to the open engine — a conditional Timing
Protection Level, framework-aligned PNT-resilience scoring, an RF-impairment
optimism-gap evaluation, and a software-defined-receiver / real-data front end — each
reproducible from one command and writing a byte-deterministic artifact. All studies
are MODELLED (synthetic or public-dataset calibration), carry their honest provenance
(engine version, seeds, config hash) and validation labels, and are not
certifications.
Added
- Conditional Timing Protection Level (
tpl). A holdover-limited bound on the
undetected time error under GNSS spoofing, with a k-sigma monitor floor, a van Loan
coast variance over the detection latency, and a CUSUM time-to-alarm. Calibrated on
a real recorded attack (JammerTest 2024, scenario 2.1.1) via
cargo run --release --example tpl_jammertest, which reproduces its reference table
from scalars recovered from the public recording (the raw dataset is not
redistributed). - Framework-aligned PNT-resilience scoring + decision-instability study
(resilience). Architecture model, RPCF-aligned scoring, Dirichlet weighting
simplex, Kendall-tau and top-1 flip-rate instability, and common-mode diversity
collapse (Hill-N2), withcargo run --release --example resilience_report -- paper-artifacts/resilience-study.json. Crosswalk in
docs/RESILIENCE-CROSSWALK.md. - RF-impairment optimism-gap study (
impairment_study,impairment_ml,
eval_stats). A 13-detector panel over a parameter-grounded synthetic corpus, an
in- vs out-of-distribution optimism gap, scaling-law trends with a permutation
null, and a leave-one-out degradation predictor, via
cargo run --release --example optimism_study -- paper-artifacts/optimism-study.json. - Software-defined-receiver front end (
sdr) and real-data adapters
(realdata/). Raw IQ/IF to correlator taps and SQM, plus ingest adapters
(RINEX, u-blox UBX, GnssLogger, JammerTest, Yunnan, SatGrid) and probe examples.
These read recordings the user supplies locally; no recordings are committed. - Committed study artifacts. The byte-deterministic
optimism-study.jsonand
resilience-study.jsonare now tracked underpaper-artifacts/so the study
numbers can be checked without rebuilding; they remain regenerable from the
generators above. Raw datasets stay out of the repo (/realdata-cache/).
Changed
- Version bumped to 0.20.0 across
Cargo.toml,CITATION.cff, andREADME; the
crossover study artifacts are regenerated so their stamp matches the released
version.
Get this release
Download — attached below, prebuilt (no toolchain needed); each artifact carries
SLSA build-provenance (verify with gh attestation verify <file> --repo AshfordeOU/kshana):
kshana— the simulator CLI / engine (Linux x86-64)kshana-mcp— the Model Context Protocol server (Linux x86-64)kshana-sbom.cdx.json— CycloneDX SBOMkshana-validation-summary.html— the per-release validation summary
On macOS or Windows, install from a registry below — the PyPI wheels, the npm/WASM
package, and the Docker image are all cross-platform.
Install from a package registry:
| Channel | Get it |
|---|---|
| crates.io | cargo install kshana · cargo install kshana-mcp |
| PyPI | pip install kshana |
| npm | npm install kshana |
| ghcr.io | docker run -i ghcr.io/ashfordeou/kshana-mcp:0.20.0 |
| MCP registry | io.github.ashfordeOU/kshana-mcp (auto-discovered by MCP clients) |
| JetBrains Marketplace | search "Kshana" in your IDE → Plugins |
No install: run it in your browser at kshana.dev · Cite: DOI 10.5281/zenodo.20528627
Full changelog: CHANGELOG.md · Docs: README