Skip to content

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 20:04
· 2478 commits to main since this release

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), with cargo 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.json and
    resilience-study.json are now tracked under paper-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, and README; 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 SBOM
  • kshana-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