N-body validation and service cutover
Optional Horizons validation, the R84–R93 staged implementation and the verified R102 post-cutover architecture.
Current runtime status
Every validation case must require used_model=nbody; a fallback case is not valid evidence for N-body accuracy.
Optional Horizons corpus method
Record exact corpus identity, kernel hash, force-model identity and spherical separation. Report median, P90, P95, maximum and counts above 30, 60 and 300 arcsec. Do not replace the distribution with a universal subarcsecond release claim.
The R90 build environment did not complete a real external corpus run. Deterministic unit/regression tests prove implementation consistency, not general external orbit-prediction accuracy.
R84–R93 staged history
- R84
- Frozen R83 two-body and legacy RA/Dec/distance regression baseline.
- R85
- Analytical state vector at the MPC osculating-element epoch.
- R86
- DE440s planetary states, frame conversion and Cowell force foundation.
- R87
- Forward/backward DOP853 propagator with dense output.
- R88
- Explicit
comet_model="nbody"and retarded-time integration. - R89
- Session LRU cache, classified fallback and detailed provenance.
- R90
- Local-Horizons corpus comparator; original certificate runtime gate later superseded.
- R91
- Full WCCD Comet/Stars logical roles from one FITS and reordered designation dialog.
- R92
- Automatic application N-body selection, status command and visible engine provenance.
- R93
- QObject/
pyqtSlotGUI-thread handoff for finder and Auto Star Measure review/results.
R102 post-cutover cleanup
R102 follows the R101 global cutover and removes only proven private duplicates. The production architecture has one public boundary, compute_comet_ephemeris(), and one allowlisted application call to engine.compute_application() inside the typed service.
- Private WStack designation/observer/topocentric adapters were removed.
- The production-only R96 shadow helper was moved to test support.
- Unused imports left by R97–R101 were removed.
- Potentially external compatibility APIs were retained intentionally.
- No physical calculation or widget output changed.
This documentation source does not contain separate R94–R101 release reports, so it does not reconstruct unsupported intermediate details. The authoritative statements here are the R93 behavior and the supplied R102 post-cutover result.
R102 QA and architecture gate
full QA: 1509 passed, 6 skipped, 0 failed
R84–R102 focused gate: 254 tests passed
engine_application_compute: 1
engine_direct_compute: 0
The six skips require the optional complete Astropy FITS/time runtime. Manifests, CLEAN/QA production parity and ZIP integrity passed.
Source brief
Download the cumulative R84–R93 documentation brief.