RELEASE_NOTES_6.0.1 - TheDaniel166/moira GitHub Wiki

Moira 6.0.1 - Complete Asteroid Identity Catalog

Release date: 2026-07-28

Public upgrade path: 6.0.0 to 6.0.1

Moira 6.0.1 makes every body in the finalized 2026.07.27.1 asteroid ephemeris release addressable by its released canonical name. The bundled name-to-NAIF registry grows from 1,382 to 9,974 unique identities, matching the 399-shard external ephemeris used by Moira's hosted production service.

This is an identity, provenance, and discoverability patch. It does not change the numerical trajectory data, planetary reduction, frame policy, or astrological interpretation.

Complete Canonical Identity Coverage

ASTEROID_NAIF and its reverse lookup include all 9,974 bodies admitted by the finalized release. This makes the complete installed catalog available to:

  • asteroid_at(...) name resolution;
  • list_asteroids() and related Python introspection;
  • GET /v1/asteroids/list?q=... name and NAIF search; and
  • downstream catalog consumers such as Urania Workspace.

Representative newly reachable identities include:

Canonical name MPC number NAIF ID
Limburgia 1383 2001383
Jacquet 20395 2020395
Mani 307261 2307261

The former placeholder Asteroid20395 is replaced by the released canonical name Jacquet. Its numerical identity is unchanged.

Release-Bound Provenance

The canonical registry is generated by scripts/build_asteroid_identity_catalog.py from one finalized sovereign release. Generation fails unless all of the following agree:

  • the admitted target ledger;
  • the unified build ledger;
  • the release shard body identities;
  • the NAIF convention 2_000_000 + MPC number;
  • unique NFC names under NFKC casefold; and
  • the exact expected release manifest SHA-256.

moira/data/asteroid_catalog_naif.metadata.json records the governing release, source revision, identity policy, counts, and exact input/output hashes.

Exact Identity Receipts

Artifact SHA-256
External release manifest 2026.07.27.1 0560302f877a46cebc550376ae70665fefab84801078181cf3c4199ce86d49d0
Admitted target ledger 1877e224431c62b2e3cf1dbdf3d13fccf45892a395616ca64b69ad5807f35b39
Unified build ledger 348891dd2e371a919fd276f2edd41b75e9b56513b7edc2176079f84ec989eb96
Canonical name-to-NAIF registry 95c4f5a1c0a8dbb80656f1efce34ff97d9bcf1d3b1d213e5584530de787160ee

The two generated tracked JSON files are pinned to LF bytes so these receipts remain identical on Windows and POSIX checkouts.

Position-Capability Boundary

The Python wheel contains canonical identities, not the 399 BSP shards. Calling a name successfully still requires a loaded external release whose manifest covers that NAIF ID and whose corresponding shard is present and nonempty.

Therefore:

  • 9,974 names are known to Moira 6.0.1;
  • a matching complete 2026.07.27.1 installation makes all 9,974 position-capable within each body's manifest-declared coverage; and
  • a missing, partial, or older external installation remains visible through readiness and loaded-kernel availability rather than being silently treated as complete.

Validation

The release exercises:

  • exact regeneration from the finalized release;
  • 9,974 unique canonical names and 9,974 unique NAIF IDs;
  • target, unified-ledger, shard, registry, and reverse-lookup agreement;
  • representative low, newly added, corrected, and high-number identities;
  • REST search for Limburgia and Mani;
  • existing asteroid API and small-body list route suites; and
  • wheel installation and runtime import using the compiled native extension.

No broad numerical ephemeris-parity claim is added by this patch. The trajectory product remains the already built and separately verified external release.

Installation

moira-astro==6.0.1

For the optional server:

moira-astro[server]==6.0.1

Install the matching external asteroid release separately under an admitted kernel search root.