Chapter I, build + version

Vedaksha engine version and build status

Status

What is measured.

Every figure on this page traces to the source tree or a package registry.

This page covers the version, residuals, test count, code posture and distribution evidence. Use the published commands below to reproduce the test counts; the accuracy page gives each provider's comparison command.

Release

Current version.

Engine versionv10.2.0
Released2026-11-01
LicenseBUSL-1.1 → Apache 2.0 (per-version, 4y from 2026-11-01, so 2030-11-01)
ToolchainRust Edition 2024
Site build031a59f473 · built 2026-11-01

The engine version is the Vedaksha release these pages describe; the site build is the deployment serving them, and they move independently. Both are machine-readable at /version.

CI

Build status.

CI workflowPassing on main (69faaad, 2026-11-01)

CI status is fetched live from the GitHub Actions API and refreshes hourly (ISR). If the API is unreachable this page says so rather than showing a remembered result.

Chapter II, distribution + accuracy

Where it ships and what it measures.

Distribution

Where it ships.

crates.iovedaksha10.2.0First published 2026-04-24
PyPIvedaksha10.2.0Rust engine via WebAssembly (wasmtime) · py3-none-any · Python ≥ 3.9
GitHub Container Registryghcr.io/arthiqlabs/vedaksha-mcp10.2.0MCP server, stdio + HTTP (bearer-token auth) · linux/amd64 + linux/arm64
WASMvedaksha-wasm10.2.0Browser / edge / Cloudflare Workers

Accuracy

Measured against external references.

Figures trace to the engine's JPL validation tests, a committed 24,350-row Horizons DE441 oracle fixture in tests/oracle_jpl/, and are read live from the engine's published metrics. Each residual is recomputable from a fresh checkout.

Oracle reference rows24,350 (10 bodies × 2,435 dates, 1900–2100) · JPL Horizons DE441 · tests/oracle_jpl/reference_positions.json
SpkReader, all bodies, DE440s kernel (vs JPL Horizons DE441, 1900-2025)0.096″ avg · 0.272″ max (Moon, 1962-01-06) · 15,350 comparisons · every comparison sub-arcsecond
SPK longitude residual over 2026 to 2100 (vs JPL Horizons DE441)0.189″ maximum (Moon, 2099-10-04). From 1962-01-20 the oracle converts Horizons UTC tags to TT with leap seconds; Delta T does not enter those residuals. UT1 predictions after 2033.75 depend on extrapolated Delta T.
Moon longitude, AnalyticalProvider (vs JPL Horizons DE441, 1900-2025)0.094″ avg · 0.276″ max
All bodies, AnalyticalProvider (vs JPL Horizons DE441, 1900-2025)0.160″ avg overall · 1.473″ max (Neptune, 2025-09-02) · 13,815 comparisons
Sun longitude, AnalyticalProvider (vs JPL Horizons DE441, 1900-2025)0.094″ avg · 0.260″ max
Ayanamsha, anchor reproduction (sidereal.rs, all 11 systems)each reproduces its own primary's anchor to 1e-9°, and its own zero year where the primary documents one
Ayanamsha, engine vs an independent Python derivation (ayanamsha_fixture.rs)agreement inside a 1e-9° tolerance across every system. Establishes that no constant was typed into one side, not full independence: both read the same recorded primaries
Ayanamsha, comparison against other implementationsnone, deliberately. Agreement with another engine is not evidence of derivation, so it is not tested for and not claimed

Code posture

What the source enforces.

Published crates7 on crates.io
unsafe keyword usage0 in all 8 library crates: the vedaksha-py-engine wasm shim alone uses unsafe, for its C-ABI exports at the wasm boundary
Crates with explicit #![deny(unsafe_code)]6 of 9: vedaksha-wasm, the vedaksha umbrella crate, and the vedaksha-py-engine wasm shim are the exceptions
EditionRust Edition 2024 across the workspace
GitHub Actions workflowsci · full-validation · audit · benchmarks · release

Verify

Reproduce every number.

Clone the repository and run the suite to recompute every figure above on your machine.

git clone https://github.com/arthiqlabs/vedaksha.git
cd vedaksha

# Unit test suite (runs on every CI push)
cargo test --workspace --locked -- --skip analytical_oracle_regression

# Full suite incl. the 24,350-row Horizons DE441 oracle
# comparison and live-fetch validation (requires network)
cargo test --workspace --release --locked -- --include-ignored

# Regenerate the oracle fixture from JPL Horizons yourself
python3 scripts/generate_horizons_oracle.py

# Lint gates that CI enforces
cargo fmt --all -- --check
cargo clippy --workspace -- -D warnings

# unsafe-code count (expect: 0)
grep -rE '\bunsafe\b' --include='*.rs' crates/ \
  | grep -vE 'deny.unsafe_code|//.+unsafe' \
  | wc -l

Source: github.com/arthiqlabs/vedaksha