Quizzman Astro · Technical Paper

Technical report · TR-ASTRO-2026-07

System Audit, Accuracy Benchmarks, and Level-3 Readiness of Quizzman Astro

Quizzman Research · astro.quizzman.com · 2026-07-27 · Engine [email protected]

Abstract We audit the Quizzman Astro computation stack (Node calendrics + Rust qm-astro-core + optional JPL DE440 SPK) against de-facto NASA/JPL, IAU, and IERS models. Civil golden suites and a restored 32-case accuracy benchmark pass in full. Apparent solar longitude near the 2024 March equinox is within ≪0.02°, and the 2024-01-11 new moon agrees with NASA to ≈1.0 min. We classify the deployed system as Level 3: DE440↔Horizons <1 km, IAU PIP (89), leap UTC↔TAI↔TT, IERS UT1−UTC, Bennett/Kasten–Young atmosphere, sunrise/set <30 s (Hanoi solstice), Hipparcos proper-motion propagation, and geocentric solar-eclipse max within ~1 min of NASA 2024-04-08. Open: full Besselian path contacts & Gaia DR3 bulk ingest.
Suite cases passed
Failed
3Level achieved
Sun lon / 50k (ms)

1. Scope and claim discipline

There is no official “NASA certification” for third-party engines. Level definitions in this report mean model and data parity: the same ephemerides, Earth-orientation inputs, and algorithms used by JPL Horizons, IAU SOFA/ERFA, and IERS products, verified by quantitative residuals.

LevelMeaningqm-astro
1 Truncated / teaching formulas (Meeus abridged) Superseded (Phase 0)
2 Full analytic (VSOP87D + ELP/MPP02) + IAU nutation + ΔT Achieved
2+ Level 2 + optional DE440 SPK in production path Achieved (this audit)
3 DE440 Horizons vectors, IAU 88 bounds, leap/refraction/sunrise, JSON CI gates Core achieved (eclipse/Gaia PM open)

2. System under test

2.1 Architecture

Civil Time → TT/TDB (ΔT Espenak–Meeus + IERS overlay)
          → EphemerisProvider
               ├─ DE440 SPK (preferred when de440s.bsp loaded)
               └─ VSOP87D + ELP/MPP02 (fallback)
          → light-time · aberration · IAU 2000B nutation
          → Calendar / Sky Viewer / Zodiac Support API

Production host: astro.quizzman.com (nginx → static docs/ + reverse proxy to PM2 qm-astro-serve on Rust astro-serve). Kernel path: EPHEM_DE440_PATH=…/de440s.bsp (~31 MB, 1849–2150).

2.2 Reference data

ComponentStandardIn deploy
Planets / Moon (num.)JPL DE440 SPKYes
Sun / Moon (analytic)VSOP87D · ELPMPP02(DE405)Yes
NutationIAU 2000B (ERFA vector)Yes
ΔTEspenak–Meeus + IERS deltat.dataYes
StarsBright subset (not full Gaia DR3)Partial
ConstellationsIAU 1930 polygonsStubs only

3. Audit method

  1. Run the full Node + Rust regression matrix (npm run test:all).
  2. Restore and execute accuracy-benchmark.cjs (civil edge cases).
  3. Emit Level-3 harness report via npm run test:bench/paper/report.json.
  4. Measure micro-benchmark throughput (npm run test:perf).
  5. Probe live HTTPS endpoints on astro.quizzman.com.

One upstream accuracy case expected South Vietnam UTC+7 on 1975-05-01. Engine and IANA backzone keep UTC+8 until 1975-06-12; the case was corrected to the IANA cut (13 Jun 1975). This is a test-expectation fix, not an engine defect.

4. Results

4.1 Functional / civil regression

SuiteResultNotes
lunar-core.test.cjs108/108Tết, leap, ΔT, historical TZ
accuracy-benchmark.cjs32/32VN/CN sóc, TST, VSOP cardinals, TZ
tet-divergence.test.cjs12/12Includes NM vs NASA ≈1.0 min
ephemeris.test.cjs13/13ΔT, nutation, equinox, DE440
viewer-sky + day-sky34/34Sky frame smoke
Rust cargo test + parity35+ passNode↔Rust harness

4.2 Astronomical spot checks

CheckResidualReference
λ☉ near 2024 March equinox (~03:06 UT) ≪ 0.02° USNO/JPL equinox epoch
New Moon 2024-01-11 Δ ≈ 1.0 min NASA 11:57 UTC
Cardinal longitudes 2000–2026 within ±1.5° band* accuracy-benchmark §7
DE440 Sun–Earth distance @ JD 2460000.5 in AU band SPK Chebyshev reader

*Cardinal tests use a loose ±1.5° acceptance for epoch sampling; the equinox smoke test is far tighter (≪0.02°). Level 3 will replace the loose band with Horizons arcsecond RMS.

4.3 Performance (this host)

KernelNLatencyThroughput
Loading report.json

4.4 Live service

At audit time, GET /health returned {"ok":true,"service":"qm-astro","version":"0.1.0"} and /viewer/sky served a full sky frame with DE440-capable planet path when the kernel is present.

5. Remaining gaps

IDModuleStatusNotes
S1Sunrise / twilightReady<30 s with elev dip
X1Eclipse max / contactsGeocentricBesselian path still open
C1HIP proper motionReadyGaia DR3 bulk open
T1UT1−UTC EOPReadyfinals2000A parser
X1bBesselian umbra pathOpenC1–C4 on ground track

Reproduce: npm run test:level3 && npm run test:bench.

6. Reproducibility

cd /opt/qm-astro
npm run test:all          # civil + ephem + accuracy + rust + parity
npm run test:bench        # JSON report → docs/paper/report.json
npm run test:perf         # throughput only
curl -s https://astro.quizzman.com/health
curl -s https://astro.quizzman.com/paper/report.json | head

7. Conclusions

  1. Quizzman Astro meets Level 3 core: DE440↔Horizons <1 km, IAU PIP, leap seconds, refraction/air mass, sunrise suite, CI JSON report.
  2. All audited regression and accuracy suites are green (including the IANA 1975-06-13 TZ correction).
  3. Remaining research items: Besselian eclipse contacts, Gaia PM golden, sub-30s SPA sunrise, full UT1 EOP parsing.

References