Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 06:39
· 15 commits to main since this release

v0.8.0 — thrust inputs, the system handle, four platforms, and correct covariances

Second stable release of the empyrean distribution. Everything the
0.8.0 release candidate carried, plus the two covariance-accuracy
fixes that validating the candidate uncovered — neither ever shipped
in a stable release with wrong behavior.

Features

  • Continuous-thrust inputs across every channel: finite-burn arcs with
    constant-RTN, velocity-tangent, and inertial-fixed steering, plus
    delta-v targeting corrections whose covariances flow into the tagged
    per-epoch covariance.
  • A reusable system handle: build_system assembles the force model
    once and reuses it across propagate / generate_ephemeris — shared
    across threads, with a describe() provenance record carrying the
    force-model menu and the SHA-256 identity of every loaded kernel,
    and loud identity/frozen-key/staleness guards.
  • Sigma-point results are tagged with their own covariance kind
    (sigma_point) in the per-epoch readback instead of reading back as
    linear.
  • Explicit kernel-load error categories.

Accuracy

  • B-plane 3-sigma ellipses for element-space input orbits (the SBDB
    common case) no longer inflate by orders of magnitude: the
    projection uses the propagated Cartesian covariance at each close
    approach, never a native-representation covariance folded through
    the Cartesian STM.
  • Sigma-point covariances use the canonical 2N+1 unscented
    construction; the previous sampling under-estimated them ~6x.
  • 4-character observatory codes are rejected loudly at every input
    boundary instead of silently aliasing a different observatory.

Packaging & docs

  • One cp310-abi3 wheel per architecture (CPython 3.10+), prebuilt for
    macOS arm64 / x86_64 and Linux x86_64 / aarch64; macOS x86_64 is
    cross-compiled on arm64 runners.
  • Documented ordering guarantees (propagation states are
    epoch-ordered; ephemeris entries are observer-input-ordered within
    each orbit), mag_sigma population conditions, and the observation
    Jacobian's light-time caveat.
  • Binds empyrean-core v0.8.1 (villeneuve v1.17.0, scott v1.13.2).