Kshana v0.25.0

क्षण · the precise instant · built & maintained by Ashforde OÜ

Open PNT resiliencevalidated to the millimetre,reproducible to the bit.

A dependency-light engine across the whole PNT stack — orbit geometry to deep-space navigation — scored against the operational figures of merit, with RINEX/SP3/CCSDS interoperability.

666/666AIAA SGP4 vectors
4.12 mmworst-case error
~96%line coverage
100%client-side · WASM

AGPL-3.0 open · SBOM + provenance · reproducible · nothing uploaded · JetBrains Marketplace · Zenodo DOI

Across the stack

  • SGP4-validated orbits
  • Constellation design
  • Precise orbit determination
  • Time scales & frames
  • Clocks · Allan & holdover
  • Strapdown INS · cold-atom
  • GNSS/INS fusion · 17-state UKF
  • Gravity-aided GNSS-free nav
  • ARAIM integrity · HPL/VPL
  • Single-point positioning · real IGS
  • Jamming & spoof resilience
  • Resilience scoring
  • Lunar & cislunar PNT
  • Deep-space / Mars nav
  • Anomaly detection · real telemetry
  • Quantum-enabled PNT

Capabilities & validation

One engine across the full PNT stack

Pick a domain to see what the engine does there — run a worked scenario, and trace the evidence behind every claim: Validated against an external oracle, or honestly Modelled.

Orbits, OD & trajectory

Evidence & provenance
Orbit propagationValidated

SGP4/SDP4 matches all 666 AIAA 2006-6753 verification states to a worst-case 4.12 mm — near-Earth, deep-space, and resonant. This is the model TLEs are defined against.

Numerical propagatorModelled (analytic)

The Cowell propagator's unperturbed orbit matches the exact universal-variable Kepler solution to sub-metre over 24 h, with energy and angular momentum conserved to ~1e-9. The J2–J6, third-body, SRP, drag and relativistic perturbations each match a hand-derived closed-form signature.

Agency precise orbitsValidated (fit)

Force-model validation by ephemeris fitting against real agency precise orbits: a full-arc Galileo MEO post-fit residual of 0.61 m (24 h, degree/order 70, force-only) and Swarm-A LEO 0.10 m (reduced-dynamic — an empirical-tier bound, not a measure). The lunar LRO fit is 6.6 m, reported honestly above the 5 m target, and a DE440/ANISE cross-validation leaves it unchanged. This fits the force model to published ephemerides; it is not measurement-level orbit determination.

Evidence ledger

The complete validation matrix — every row, every proof

All 102 capabilities, generated from src/verification.rs and pinned to it in CI. Each row links to the test that enforces it, the module that implements it, and any committed fixture/provenance — so every claim is one click from its evidence. Validated = checked against an independent external oracle; Modelled = honest first-principles model (see why); Partner = consortium gap, no code by design.

Open the full validation ledger

Capability Status Oracle Evidence

Generated from the matrix by gen_validation_artifacts and pinned by verification_artifacts_doc_sync — the table cannot drift from the code. Full tables: VERIFICATION-MATRIX.md · MODELLED-RATIONALE.md · VALIDATION.md

Interactive playground

Run a scenario — locally, in your browser

Pick a scenario below — or hit ▸ run on any capability above — and the WebAssembly engine runs it on your machine; nothing is uploaded. Tune the universal knobs, or open the full TOML to change anything. Every run is reproducible and shareable by link.

Controls

Loading engine…
Full scenario definition (TOML) — edit anything

Standards & interoperability

Speaks the formats your tools already use

Built on the open standards of the GNSS and timing community, so it drops into existing workflows — and every standard below links to the test that proves it.

Show the validated formats & standards

AI agents

Callable from your AI assistant over MCP

Kshana ships a Model Context Protocol server, kshana-mcp, so an agent runs the validated engine instead of guessing the math — usable from Cursor, JetBrains AI Assistant / Junie, and any MCP-compatible assistant. It is published on crates.io, as a multi-arch Docker image, and in the official MCP registry.

Five tools

run_scenario, list_scenario_kinds, validate_scenario, export_sp3, and export_omm — each a thin wrapper over the public kshana API, so an agent runs exactly the validated engine and gets figures of merit with provenance.

Install

cargo install kshana-mcp docker run -i ghcr.io/ashfordeou/kshana-mcp

Then register kshana-mcp in your client's mcpServers config. See the MCP server guide for per-client snippets.

Ask it anything PNT

“What's the GPS-denied position drift over a one-hour outage with a cold-atom IMU?” → the agent calls run_scenario and returns a real, cited number — not a hallucinated one.

In a JetBrains IDE

Prefer to click? Install Kshana — PNT simulator from the JetBrains Marketplace (or Settings → Plugins → Marketplace → search “Kshana”): right-click any scenario .tomlRun Kshana Scenario and read the figures of merit in a tool window.

Cite & use

Built to be referenced

AGPL-3.0 (commercial licence available), citable, and installable from every major ecosystem.

Install

cargo add kshana pip install kshana npm install kshana

Cite

Baweja, C. (2026). Kshana — a PNT-resilience simulator with quantum-sensor performance models. Ashforde OÜ. https://doi.org/10.5281/zenodo.20528627

DOI 10.5281/zenodo.20528627

Every release is archived on Zenodo with a citable DOI; a CITATION.cff ships in the repository. Please cite the engine version and the scenario + seed for reproducibility.

Related publications

Studies built on the open engine are written up separately; their numbers regenerate from the engine's reproducible study artifacts.

Baweja, C. (2026). The Cost of Lunar South-Polar Geometry, and Surface Beacons as the Efficient Fix: A Dilution-of-Precision Analysis. arXiv:2607.06212.

Baweja, C. (2026). Earth-baseline VLBI restores the observability of a lunar surface station in joint orbit-and-clock determination. arXiv:2607.02566.

Baweja, C. (2026). A Conditional Timing Protection Level: Holdover-Limited Undetected Time Error Under GNSS Spoofing. arXiv:2606.24210.

Baweja, C. (2026). Anticipating the Optimism Gap: Predicting Distribution-Shift Degradation of RF-Impairment Detectors from In-Distribution Statistics. arXiv:2606.22054.

For institutions

Kshana is a study and trade-off instrument — a transparent, reproducible substrate for PNT performance analysis and digital-thread integration, not a flight product. Open by design for evaluation and extension.

Open core + commercial

Free to build on, supported when it matters

The engine is, and stays, open source under the AGPL-3.0 — with a commercial licence available for proprietary/closed integration. Ashforde OÜ sustains it with expertise and a proprietary overlay for the work that must stay closed — not seat fees on the open engine.

Open core

The whole validated engine and every surface — native, Python, in-browser, and over MCP — free under the AGPL-3.0 (or a commercial licence for closed/proprietary use), no feature gate. Everything on this page runs on the open core.

Commercial

Kshana Pro

A proprietary overlay that depends on the open core (it never forks it): clock digital twins calibrated to a device's published Allan budget, and architecture trade studies ranked on a figure of merit with audit-grade, reproducible evidence packs. Available under contract.

Custom & export-sensitive

Sensor and resilience models calibrated to your hardware — including export-controlled resilience work delivered under the appropriate clearance and NDA — plus integration, training, and consulting on quantum/classical PNT performance analysis.

Request a study

A MODELLED PNT-resilience study — e.g. an optimism-gap audit — reproducible from scenario + seed + engine version, every figure labelled, not a certification. Tell us the job; we'll scope it.

The open-core model: the engine stays open; the sustaining business is support and proprietary extensions. Talk to us — contact@ashforde.org · ashforde.org.