v0.8.1
v0.8.1 — non-grav covariance everywhere, chronological outputs, linkable macOS engine
Fixes
- The fitted non-grav 3σ covariance from orbit determination now
reaches every Python forward model (propagate, ephemeris generation,
impact probabilities, B-planes) instead of being silently dropped at
the binding — propagated σ for non-grav-solved orbits was understated
(~2,800 km in quadrature at Apophis's 2029 close approach). The Rust
channel always forwarded it; the channels now agree. - Observing nights for western observatories are stamped with the local
observing night instead of the UTC date (signed-longitude fold). - Observation sensitivity rows populate whenever STM tracing is
requested — no input covariance needed for the Jacobian; only the
projected sky covariance still requires one. - The released macOS libempyrean.dylib carries an @rpath install name;
C consumers can link the tarball as shipped with -Wl,-rpath.
Behavior
- Propagation output is in ascending epoch order, always — positional
pairing against an ascending, duplicate-free request grid is exact.
Ephemeris entries keep their observer-input order (engine-tested). - Python-extension orbit marshaling is drop-proofed behind a single
exhaustive construction chokepoint, with the contract suite
exercising the non-grav covariance input channel end to end.
Binds empyrean-core v0.8.2 (villeneuve v1.18.1, scott v1.13.3).