{"id":51114676,"url":"https://github.com/AshfordeOU/kshana","last_synced_at":"2026-07-13T03:00:45.235Z","repository":{"id":361942542,"uuid":"1256508460","full_name":"ashfordeOU/kshana","owner":"ashfordeOU","description":"Open, validated, reproducible PNT-resilience simulator spanning the full positioning, navigation \u0026 timing stack — orbit, clocks, INS, GNSS, integrity, resilience — plus quantum-vs-classical performance models. Runs as a Rust lib/CLI, Python, in-browser (WASM), an MCP server for AI agents, and a JetBrains plugin.","archived":false,"fork":false,"pushed_at":"2026-07-09T11:47:16.000Z","size":13429,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-09T13:17:32.294Z","etag":null,"topics":["aerospace","astrodynamics","gnss","mcp","model-context-protocol","navigation","orbital-mechanics","pnt","positioning","quantum-navigation","quantum-sensors","raim","reproducible-research","rust","satellite","sgp4","simulation","timing","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://kshana.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashfordeOU.png","metadata":{"files":{"readme":"README.crates.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":".zenodo.json","notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://ashforde.org/support"]}},"created_at":"2026-06-01T21:02:33.000Z","updated_at":"2026-07-09T11:47:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ashfordeOU/kshana","commit_stats":null,"previous_names":["ashfordeou/kshana"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/ashfordeOU/kshana","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfordeOU%2Fkshana","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfordeOU%2Fkshana/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfordeOU%2Fkshana/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfordeOU%2Fkshana/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashfordeOU","download_url":"https://codeload.github.com/ashfordeOU/kshana/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashfordeOU%2Fkshana/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35408466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aerospace","astrodynamics","gnss","mcp","model-context-protocol","navigation","orbital-mechanics","pnt","positioning","quantum-navigation","quantum-sensors","raim","reproducible-research","rust","satellite","sgp4","simulation","timing","wasm","webassembly"],"created_at":"2026-06-24T21:00:27.454Z","updated_at":"2026-07-13T03:00:45.227Z","avatar_url":"https://github.com/ashfordeOU.png","language":"Rust","funding_links":["https://ashforde.org/support"],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003c!-- Surface README for crates.io. Images/links are ABSOLUTE (pinned to /main) because\n     crates.io does not rewrite relative paths and does not render Mermaid. The canonical,\n     full README lives at README.md on GitHub. To re-pin images to an immutable release tag\n     at publish time, replace `/main/` with `/vX.Y.Z/` across this file (one sed). --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/AshfordeOU/kshana/main/docs/assets/kshana-wordmark.png\" alt=\"Kshana\" width=\"300\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eक्षण\u003c/strong\u003e — Sanskrit for \u003cem\u003ethe precise instant\u003c/em\u003e, the smallest measure of time.\u003cbr\u003e\n  Open, reproducible PNT-resilience simulation with published quantum-sensor performance models.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/AshfordeOU/kshana/blob/main/tests/sgp4_verification.rs\"\u003e\u003cimg src=\"https://img.shields.io/badge/SGP4-666%2F666%20AIAA%20vectors%20%C2%B7%204.12mm-3fb950\" alt=\"SGP4 validated against all 666 AIAA 2006-6753 vectors, worst 4.12 mm\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AshfordeOU/kshana#validation-at-a-glance\"\u003e\u003cimg src=\"https://img.shields.io/badge/validated-51%20external%20oracles-3fb950\" alt=\"51 of 102 capabilities validated against independent external oracles\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AshfordeOU/kshana/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/badge/coverage-~96%25%20line-3fb950\" alt=\"~96% line coverage, gated at 85% in CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AshfordeOU/kshana/releases\"\u003e\u003cimg src=\"https://img.shields.io/badge/release-v0.24.0-c79e63\" alt=\"Release v0.24.0\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://ashforde.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/playground-try%20in%20browser-c79e63\" alt=\"Live playground — run in your browser, no install\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AshfordeOU/kshana/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-AGPL_v3-blue.svg\" alt=\"License: AGPL-3.0-only\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://doi.org/10.5281/zenodo.20528627\"\u003e\u003cimg src=\"https://img.shields.io/badge/DOI-10.5281%2Fzenodo.20528627-blue.svg\" alt=\"DOI 10.5281/zenodo.20528627\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**Kshana** is an open, reproducible **PNT-resilience simulator with quantum-sensor\nperformance models** — positioning, navigation, and timing. It quantifies, in hard\nand reproducible numbers, what quantum clocks, quantum inertial sensors, and optical\ntime-transfer buy a navigation system over classical PNT — scored against the\noperational figures of merit that matter for resilient navigation. Every result is\nreproducible from `scenario + seed + engine version`, and every sensor parameter is\ntraceable to a published source.\n\n\u003e ***Validated, not asserted.*** 666/666 AIAA SGP4 vectors to **4.12 mm** · Cowell\n\u003e force model **0.08 m** vs Orekit 12.2 · Galileo **0.61 m** / Swarm-A **0.10 m** vs\n\u003e real ESA precise ephemerides · GCRS→ITRS bit-for-bit vs SOFA/ERFA · ML metrics exact\n\u003e vs scikit-learn · **51 of 102** capabilities validated against independent external\n\u003e oracles; 47 honestly labelled Modelled, 4 partner-owned.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/AshfordeOU/kshana/main/docs/assets/diagrams/system-overview.png\" alt=\"Kshana system overview: five front doors (CLI, Python wheel, WebAssembly playground, MCP server, JetBrains plugin) converge on a single api::run_toml dispatch, through the engine, to a reproducible result.json + chart.svg\" width=\"840\"\u003e\n\u003c/p\u003e\n\n### Validated against external oracles — every row CI-gated\n\nEach row is checked against an **independent external oracle** (real dataset,\nindependent reference implementation, or published reference vectors) and re-checked in CI.\n\n| | Capability | Result | External oracle |\n|---|---|---|---|\n| ✅ | SGP4/SDP4 propagation | 666/666 vectors, worst **4.12 mm** | AIAA 2006-6753 (Vallado) + independent `sgp4` crate |\n| ✅ | Numerical Cowell force model | **0.08 m** / 24 h, 275 epochs | Orekit 12.2 `DormandPrince853` (CS GROUP) |\n| ✅ | Orbit fit vs precise ephemeris | Galileo **0.61 m** · Swarm-A **0.10 m** | ESA/ESOC SP3 precise orbits |\n| ✅ | GCRS→ITRS frame chain | bit-for-bit vs SOFA; ≤ 0.86 m vs SPICE | ERFA/SOFA + ANISE (pure-Rust SPICE) |\n| ✅ | Allan deviations | reproduce reference deviations | NIST SP 1065 + Stable32 on a real Cs clock |\n| ✅ | GNSS DOP · ML detector metrics | to **1e-6** · to **1e-9** | gnss_lib_py · scikit-learn |\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/AshfordeOU/kshana/main/docs/assets/figures/validation-breakdown.png\" alt=\"Verification status across all 102 capabilities: 51 Validated, 47 Modelled, 4 Partner-owned\" width=\"780\"\u003e\n\u003c/p\u003e\n\n## Install\n\n```bash\ncargo add kshana            # use the engine as a library\ncargo install kshana        # or install the CLI\n```\n\n## Usage — library\n\n```rust\nuse kshana::api;\n\n// Run any scenario TOML through the engine; get a reproducible result back.\nlet toml = std::fs::read_to_string(\"scenarios/clock-holdover.toml\")?;\nlet result_json = api::run_toml(\u0026toml)?;\nprintln!(\"{result_json}\");\n# Ok::\u003c(), Box\u003cdyn std::error::Error\u003e\u003e(())\n```\n\n## Usage — CLI\n\n```bash\n# Dispatches on the scenario's `kind`; writes \u003cscenario\u003e.result.json + .chart.svg\nkshana scenarios/clock-holdover.toml\nkshana scenarios/orbit-gnss-challenged.toml\nkshana --validate scenarios/integrity-raim.toml     # lint without running\nkshana --study scenarios/quantum-pnt-demonstrator.suite.toml --study-name \"PNT demo\"\n```\n\nEvery figure of merit is labelled **validated** or **modelled**; optical-clock figures\nare space goals on ground hardware (no strontium optical clock has flown). Maturity is\n*not* uniform across domains — Earth PNT is real-data validated; deep-space / Mars\nnavigation is simulation-validated; real-mission deep-space OD is on the roadmap.\n\n## Learn more\n\n- **Full README \u0026 validation matrix** → \u003chttps://github.com/AshfordeOU/kshana\u003e\n- **Live playground** (runs in your browser as WebAssembly) → \u003chttps://ashforde.org\u003e\n- **Capabilities** → [docs/CAPABILITY.md](https://github.com/AshfordeOU/kshana/blob/main/docs/CAPABILITY.md)\n- **Validation \u0026 provenance** → [docs/VALIDATION.md](https://github.com/AshfordeOU/kshana/blob/main/docs/VALIDATION.md) · [docs/PROVENANCE.md](https://github.com/AshfordeOU/kshana/blob/main/docs/PROVENANCE.md)\n- **Claims vs reality ledger** → [docs/CLAIMS-VS-REALITY.md](https://github.com/AshfordeOU/kshana/blob/main/docs/CLAIMS-VS-REALITY.md)\n\n## Licence\n\nFree and open source under the **GNU AGPL-3.0-only**. A **commercial licence** is\navailable from [Ashforde OÜ](https://ashforde.org) for proprietary/closed integration\n— see [LICENSING.md](https://github.com/AshfordeOU/kshana/blob/main/LICENSING.md).\nProfessionally developed and maintained by Ashforde OÜ; commercial support, integration,\nand proprietary extensions available.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAshfordeOU%2Fkshana","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAshfordeOU%2Fkshana","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAshfordeOU%2Fkshana/lists"}