SWISS_EPHEMERIS_NONE_SUPPORT_REPORT - TheDaniel166/moira GitHub Wiki

Swiss None-Surface Support Report

This report expands the none truth-basis rows from SWISS_EPHEMERIS_SYMBOL_TABLE.md into explicit product decisions.

Decision meanings:

  • support: Moira should expose this capability publicly.
  • defer: valid domain area, but should only be added after a typed Moira-shaped design pass.
  • do_not_support: Swiss-specific/internal/low-value surface that Moira should not mirror.

Total none rows: 239

  • support: 26 (all 26 now implemented — see Phase 1, 2, and 3 implementation below)
  • defer: 134
  • do_not_support: 79

Phase 1 implemented (17 symbols reclassified from support / none to implemented):

  • FLG_ASTROMETRIC, FLG_TRUEPOSplanet_at(..., apparent=False)
  • FLG_NOABERRplanet_at(..., aberration=False)
  • FLG_NOGDEFLplanet_at(..., grav_deflection=False)
  • FLG_NONUTplanet_at(..., nutation=False)
  • FLG_BARYCTRplanet_at(..., center='barycentric')
  • FLG_XYZplanet_at(..., frame='cartesian')CartesianPosition
  • set_delta_t_userdefDeltaTPolicy + ut_to_tt(..., delta_t_policy=...)
  • BIT_DISC_BOTTOM, BIT_DISC_CENTER, BIT_FIXED_DISC_SIZE, BIT_HINDU_RISING, BIT_NO_REFRACTIONRiseSetPolicy fields
  • azalt_revhorizontal_to_equatorial(...)
  • cotrans_spcotrans_sp(...)
  • refracatmospheric_refraction(...)
  • refrac_extendedatmospheric_refraction_extended(...)
  • time_equequation_of_time(...)

Phase 2 implemented (9 symbols reclassified from support / none to implemented):

  • calc_pctrplanet_relative_to(body, center_body, jd_ut, reader)PlanetData
  • helio_cross, helio_cross_utnext_heliocentric_transit(body, target_lon, jd_start, reader)float
  • house_posbody_house_position(longitude, house_cusps)float
  • houses_armchouses_from_armc(armc, obliquity, lat, system, *, policy, sun_longitude)HouseCusps
  • houses_armc_ex2house_dynamics_from_armc(armc, obliquity, lat, system, *, policy, sun_longitude, darmc_deg)HouseDynamics
  • houses_ex2cusp_speeds_at(jd_ut, lat, lon, system, *, policy, dt)HouseDynamics
  • mooncross_node, mooncross_node_utnext_moon_node_crossing(jd_start, reader, ascending=True)float

Phase 3 implemented (1 symbol reclassified from support / none to implemented):

  • SIDM_USERUserDefinedAyanamsa(reference_value_j2000, drift_per_century) in moira.sidereal

Phase 3 implemented orbital surfaces:

  • get_orbital_elements -> orbital_elements_at(body, jd_ut) -> KeplerianElements in moira.orbits
  • orbit_max_min_true_distance -> distance_extremes_at(body, jd_ut) -> DistanceExtremes in moira.orbits

Recommended support order (updated — all support items done):

  1. Position-computation switches and output modes — done (Phase 1)
  2. Rise/set doctrine selectors — done (Phase 1)
  3. Low-level astronomy helpers — done (Phase 1)
  4. Specialist search/helpers — done (Phase 2)
  5. Deferred design families: generalized heliacal, then path/where geometry.

Interpretation:

  • support means the capability is worth adding, but usually not as a Swiss-shaped flag or tuple surface.
  • defer means the domain is real, but Moira should design a typed subsystem first.
  • do_not_support means the symbol is Swiss-internal, low-value, or contrary to Moira's API design.
Symbol Kind Current status What it is Decision Why How if supported
ACRONYCHAL_RISING constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
ACRONYCHAL_SETTING constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
APP_TO_TRUE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
ASTNAMFILE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
AUNIT_TO_KM constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
AUNIT_TO_LIGHTYEAR constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
AUNIT_TO_PARSEC constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
BIT_DISC_BOTTOM constant implemented Rise/set doctrine selector support These are real event-definition choices that matter for migration and reproducibility. RiseSetPolicy(disc_reference='bottom') in moira.rise_set.
BIT_DISC_CENTER constant implemented Rise/set doctrine selector support These are real event-definition choices that matter for migration and reproducibility. RiseSetPolicy(disc_reference='center') in moira.rise_set.
BIT_FIXED_DISC_SIZE constant implemented Rise/set doctrine selector support These are real event-definition choices that matter for migration and reproducibility. RiseSetPolicy(fixed_disc_size=True) in moira.rise_set.
BIT_FORCE_SLOW_METHOD constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
BIT_HINDU_RISING constant implemented Rise/set doctrine selector support These are real event-definition choices that matter for migration and reproducibility. RiseSetPolicy(hindu_rising=True) in moira.rise_set.
BIT_NO_REFRACTION constant implemented Rise/set doctrine selector support These are real event-definition choices that matter for migration and reproducibility. RiseSetPolicy(refraction=False) in moira.rise_set.
COMET_OFFSET constant missing Swiss numeric selector / offset idiom do_not_support The underlying capability may be valuable, but the Swiss numeric-offset selector pattern is not a good Moira API. Expose named body-specific or typed helper APIs instead of numeric offsets or interpolation bits.
COSMICAL_SETTING constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
DE_NUMBER constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
DELTAT_AUTOMATIC constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
ECL2HOR constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
EPHE_PATH constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
EQU2HOR constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
EVENING_FIRST constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
EVENING_LAST constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
FICT_MAX constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FICTFILE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FIXSTAR constant unsupported Unclassified specialist gap defer The symbol names a real Swiss surface, but it should not be adopted without an intentional Moira-shaped design. Add only after a dedicated typed API and validation story are defined.
FLG_ASTROMETRIC constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., apparent=False) in moira.planets.
FLG_BARYCTR constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., center='barycentric') in moira.planets.
FLG_CENTER_BODY constant missing Swiss numeric selector / offset idiom do_not_support The underlying capability may be valuable, but the Swiss numeric-offset selector pattern is not a good Moira API. Expose named body-specific or typed helper APIs instead of numeric offsets or interpolation bits.
FLG_DEFAULTEPH constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_DPSIDEPS_1980 constant missing Nutation-model selector defer A model-basis control is reasonable, but Swiss's flag is too narrow to mirror blindly. If added, expose a typed NutationPolicy or nutation_model= option rather than a Swiss compatibility flag.
FLG_ICRS constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_J2000 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_JPLEPH constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_JPLHOR constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_JPLHOR_APPROX constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_MOSEPH constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_NOABERR constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., aberration=False) in moira.planets.
FLG_NOGDEFL constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., grav_deflection=False) in moira.planets.
FLG_NONUT constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., nutation=False) in moira.planets.
FLG_ORBEL_AA constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_SPEED3 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_SWIEPH constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_TEST_PLMOON constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_TROPICAL constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FLG_TRUEPOS constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., apparent=False) in moira.planets (same as FLG_ASTROMETRIC).
FLG_XYZ constant implemented Position-computation switch support These correspond to meaningful output/control choices users genuinely need when migrating precision astronomy code. planet_at(..., frame='cartesian') returns CartesianPosition in moira.planets.
FNAME_DE200 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DE403 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DE404 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DE405 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DE406 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DFT constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
FNAME_DFT2 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
HARRINGTON constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
HELFLAG_AV constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_AVKIND constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_AVKIND_MIN7 constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_AVKIND_MIN9 constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_AVKIND_PTO constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_AVKIND_VR constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_HIGH_PRECISION constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_LONG_SEARCH constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_NO_DETAILS constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_OPTICAL_PARAMS constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_SEARCH_1_PERIOD constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_VISLIM_DARK constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_VISLIM_NOMOON constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELFLAG_VISLIM_PHOTOPIC constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_AVKIND constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_AVKIND_MIN7 constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_AVKIND_MIN9 constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_AVKIND_PTO constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_AVKIND_VR constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_HIGH_PRECISION constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_LONG_SEARCH constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_NO_DETAILS constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_OPTICAL_PARAMS constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_SEARCH_1_PERIOD constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_VISLIM_DARK constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_VISLIM_NOMOON constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HELIACAL_VISLIM_PHOTOPIC constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
HOR2ECL constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
HOR2EQU constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
INTP_APOG constant missing Swiss numeric selector / offset idiom do_not_support The underlying capability may be valuable, but the Swiss numeric-offset selector pattern is not a good Moira API. Expose named body-specific or typed helper APIs instead of numeric offsets or interpolation bits.
INTP_PERG constant missing Swiss numeric selector / offset idiom do_not_support The underlying capability may be valuable, but the Swiss numeric-offset selector pattern is not a good Moira API. Expose named body-specific or typed helper APIs instead of numeric offsets or interpolation bits.
MAX_STNAME constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
MIXEDOPIC_FLAG constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
MOD_BIAS_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_BIAS_IAU2000 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_BIAS_IAU2006 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_BIAS_NONE constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_ESPENAK_MEEUS_2006 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_STEPHENSON_1997 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_STEPHENSON_ETC_2016 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_STEPHENSON_MORRISON_1984 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_DELTAT_STEPHENSON_MORRISON_2004 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHOR_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHOR_LONG_AGREEMENT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHORA_1 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHORA_2 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHORA_3 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_JPLHORA_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NBIAS constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NDELTAT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NJPLHOR constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NJPLHORA constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NNUT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NPREC constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_IAU_1980 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_IAU_2000A constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_IAU_2000B constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_IAU_CORR_1987 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_NUT_WOOLARD constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_BRETAGNON_2003 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_DEFAULT_SHORT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_IAU_1976 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_IAU_2000 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_IAU_2006 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_LASKAR_1986 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_NEWCOMB constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_OWEN_1990 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_SIMON_1994 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_VONDRAK_2011 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_WILL_EPS_LASK constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MOD_PREC_WILLIAMS_1994 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_BIAS constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_DELTAT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_JPLHOR_MODE constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_JPLHORA_MODE constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_NUT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_PREC_LONGTERM constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_PREC_SHORTTERM constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MODEL_SIDT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
MORNING_FIRST constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
MORNING_LAST constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
NALL_NAT_POINTS constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NEPTUNE_ADAMS constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
NEPTUNE_LEVERRIER constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
NFICT_ELEM constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NIBIRU constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
NODBIT_FOPOINT constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NODBIT_MEAN constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NODBIT_OSCU constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NODBIT_OSCU_BAR constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NPLANETS constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NSE_MODELS constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
NSIDM_PREDEF constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
PHOTOPIC_FLAG constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
PLMOON_OFFSET constant missing Swiss numeric selector / offset idiom do_not_support The underlying capability may be valuable, but the Swiss numeric-offset selector pattern is not a good Moira API. Expose named body-specific or typed helper APIs instead of numeric offsets or interpolation bits.
PLUTO_LOWELL constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
PLUTO_PICKERING constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
SCOTOPIC_FLAG constant missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
SE_FNAME_DE431 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_ECL_DATE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_ECL_T0 constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_NO_PREC_OFFSET constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_PREC_ORIG constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_SSY_PLANE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBIT_USER_UT constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDBITS constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
SIDM_ARYABHATA_522 constant implemented Additional ayanamsa constant support Epoch 522 CE; Aryabhatiya lineage; peer-reviewed in Pingree & Plofker. Passes all 5 doctrinal acceptance criteria. Ayanamsa.ARYABHATA_522 in moira.sidereal; J2000 20.575827873°.
SIDM_B1950 constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C4. B1950 is an astronomical coordinate frame epoch, not an astrological sidereal zodiac. No user community practices this as an ayanamsa. No Moira surface.
SIDM_BABYL_BRITTON constant implemented Additional ayanamsa constant support Britton's Babylonian epoch; peer-reviewed in Centaurus, AHES, and JHA. Passes all 5 doctrinal acceptance criteria. Ayanamsa.BABYL_BRITTON in moira.sidereal; J2000 24.615733680°.
SIDM_GALALIGN_MARDYKS constant unsupported Additional ayanamsa constant do_not_support Fails C1. Mardyks' Skydram/galactic alignment is a practitioner publication, not peer-reviewed. No Moira surface. Specialist use: UserDefinedAyanamsa(30.017775).
SIDM_GALCENT_MULA_WILHELM constant unsupported Additional ayanamsa constant do_not_support Fails C3. Only 0.36' from TRUE_REVATI at J2000 — sub-arcminute; not a doctrinally distinct system. No Moira surface. Specialist use: UserDefinedAyanamsa(20.039201).
SIDM_GALEQU_FIORENZA constant unsupported Additional ayanamsa constant do_not_support Fails C1. Self-published (lunarplanner.com); exact 25.000000° epoch is a round-number assignment, not a precision-derived value. No Moira surface. Specialist use: UserDefinedAyanamsa(25.000000).
SIDM_GALEQU_IAU1958 constant implemented Additional ayanamsa constant support Blaauw et al. 1960 (BAN 11, 414); IAU 1958 galactic coordinate standard. Passes all 5 doctrinal criteria. Non-standard galactic nodal drift applied (+0.007460°/century). Ayanamsa.GALEQU_IAU1958 in moira.sidereal; J2000 30.023153273°.
SIDM_GALEQU_MULA constant unsupported Additional ayanamsa constant do_not_support Fails C1. Composite nakshatra-galactic definition without a standalone peer-reviewed epoch publication. No Moira surface. Specialist use: UserDefinedAyanamsa(23.409406).
SIDM_GALEQU_TRUE constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C2. Dynamic system — galactic equator at date of computation. No fixed epoch; violates the definition of an ayanamsa. Cannot be expressed as a UserDefinedAyanamsa. No Moira surface.
SIDM_J1900 constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C4. J1900.0 is an astronomical coordinate frame epoch, not an astrological sidereal zodiac. No user community practices this as an ayanamsa. No Moira surface.
SIDM_J2000 constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C4. J2000.0 is an astronomical coordinate frame epoch, not an astrological sidereal zodiac. No user community practices this as an ayanamsa. No Moira surface.
SIDM_KRISHNAMURTI_VP291 constant unsupported Additional ayanamsa constant do_not_support Fails C1 and borderline C3. C3: only 1.21' from KRISHNAMURTI. C1: Vishnu Prabha 291 is a practitioner journal, not peer-reviewed. Both criteria fail under strict doctrine. No Moira surface. Specialist use: UserDefinedAyanamsa(23.780346).
SIDM_LAHIRI_1940 constant unsupported Additional ayanamsa constant do_not_support Fails C3. Only 0.14' from TRUE_CHITRAPAKSHA at J2000 — sub-arcminute; not a doctrinally distinct system. No Moira surface. Specialist use: UserDefinedAyanamsa(23.842304).
SIDM_LAHIRI_ICRC constant unsupported Additional ayanamsa constant do_not_support Fails C3. Only 0.02' from LAHIRI at J2000 — numerically indistinguishable; not a doctrinally distinct system. No Moira surface. Specialist use: UserDefinedAyanamsa(23.856770).
SIDM_LAHIRI_VP285 constant unsupported Additional ayanamsa constant do_not_support Fails C3. Only 0.38' from LAHIRI at J2000 — sub-arcminute; not a doctrinally distinct system. No Moira surface. Specialist use: UserDefinedAyanamsa(23.863462).
SIDM_TRUE_MULA constant implemented Additional ayanamsa constant support Chandra Hari; star-anchored: Shaula (λ Sco) at 240° sidereal; published in IJHS (peer-reviewed). Shaula confirmed in Moira star registry. Passes all 5 doctrinal criteria. Ayanamsa.TRUE_MULA in moira.sidereal; live Shaula anchor primary, polynomial fallback J2000 24.579939992°.
SIDM_TRUE_SHEORAN constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C2. Sheoran's specific epoch publication is not independently verifiable; the anchor date and derivation cannot be confirmed from available sources. No Moira surface. Specialist use: UserDefinedAyanamsa(25.234406) pending source confirmation.
SIDM_USER constant implemented User-defined ayanamsa support Custom sidereal frames are a legitimate specialist requirement and fit Moira's typed-configuration model. UserDefinedAyanamsa(reference_value_j2000, drift_per_century) in moira.sidereal; accepted anywhere Ayanamsa.* is accepted.
SIDM_VALENS_MOON constant unsupported Additional ayanamsa constant do_not_support Fails C1 and C2. The specific anchor epoch from Vettius Valens' horoscope corpus is not independently verifiable without the SE source code or a citable primary publication naming the exact date. No Moira surface. Specialist use: UserDefinedAyanamsa(22.795590) pending source confirmation.
SIMULATE_VICTORVB constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
STARFILE constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
STARFILE_OLD constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
TIDAL_26 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_AUTOMATIC constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE200 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE403 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE404 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE405 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE406 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE421 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE422 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE430 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE431 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DE441 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_DEFAULT constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_JPLEPH constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_MOSEPH constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_STEPHENSON_2016 constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TIDAL_SWIEPH constant missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
TJD_INVALID constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
TRUE_TO_APP constant unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
VULCAN constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
WALDEMATH constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
WHITE_MOON constant unsupported Hypothetical / obsolete body constant do_not_support These are not part of Moira's supported physical body model. No Moira surface. If ever desired, add them only in a clearly separate hypothetical-bodies module.
azalt_rev function implemented Low-level astronomy helper support These are standard computational helpers with clear mathematical meaning and low API ambiguity. horizontal_to_equatorial(az, alt, lst, lat) in moira.coordinates.
calc_pctr function implemented Low-level specialist helper support These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. planet_relative_to(body, center_body, jd_ut, reader)PlanetData in moira.planets.
close function unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
cotrans_sp function implemented Low-level astronomy helper support These are standard computational helpers with clear mathematical meaning and low API ambiguity. cotrans_sp(lon, lat, dist, dlon, dlat, ddist, obliquity) in moira.coordinates.
csnorm function unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
difcs2n function unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
difcsn function unsupported Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
get_current_file_data function missing Legacy Swiss utility surface do_not_support These are low-value utilities that do not fit Moira's core astronomy engine priorities. No Moira surface. Use Python/time utilities externally if needed.
get_library_path function missing Swiss internal/backend/file/control surface do_not_support These are Swiss implementation details or C-library affordances, not stable domain concepts Moira should mirror. No Moira surface. Keep them out of the public API.
get_orbital_elements function implemented Orbital-elements subsystem support This is now a live public subsystem with typed results and external validation. orbital_elements_at(body, jd_ut) -> KeplerianElements in moira.orbits; validated against JPL HORIZONS ELEMENTS.
get_tid_acc function missing Model-basis / tidal-acceleration control defer These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy.
heliacal_pheno_ut function missing Generalized heliacal / visibility surface defer This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those.
helio_cross function implemented Low-level specialist helper support These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. next_heliocentric_transit(body, target_lon, jd_start, reader)float in moira.planets.
helio_cross_ut function implemented Low-level specialist helper support These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. next_heliocentric_transit(body, target_lon, jd_start, reader)float in moira.planets (UT-native).
house_pos function implemented Low-level specialist helper support These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. body_house_position(longitude, house_cusps)float in moira.houses.
houses_armc function implemented Low-level specialist helper support These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. houses_from_armc(armc, obliquity, lat, system, *, policy, sun_longitude)HouseCusps in moira.houses.
houses_armc_ex2 function implemented House speed surface support This is a legitimate specialist companion to the existing house-dynamics surface for ARMC-native workflows such as primary directions. house_dynamics_from_armc(armc, obliquity, lat, system, *, policy, sun_longitude, darmc_deg)HouseDynamics in moira.houses; fixed-obliquity ARMC derivative, validated against the time-based path in tests/unit/test_house_dynamics.py.
houses_ex2 function implemented House speed surface support This is now a live Moira-native house-dynamics surface with explicit doctrine and typed output, rather than a copied Swiss tuple. cusp_speeds_at(jd_ut, lat, lon, system, *, policy, dt)HouseDynamics in moira.houses; direct tests in tests/unit/test_house_dynamics.py.
lat_to_lmt function missing Legacy Swiss utility surface do_not_support These are low-value utilities that do not fit Moira's core astronomy engine priorities. No Moira surface. Use Python/time utilities externally if needed.
lmt_to_lat function missing Legacy Swiss utility surface do_not_support These are low-value utilities that do not fit Moira's core astronomy engine priorities. No Moira surface. Use Python/time utilities externally if needed.
lun_occult_where function partial Path/where geometry helper support Moira now has a real typed occultation path surface with exact-JD greatest-geography solving. The current external validation slice includes Swiss where parity at the maximum-geography level plus multiple external IOTA graze/limit text checks across independent bright-star events (El Nath, Spica N/S, epsilon Ari, Alcyone, Merope, Asellus Borealis, Regulus). Nominal site altitude is now carried through where declared by the source files, and a lunar-limb profile correction hook is in place for future topography-backed graze refinement; broader corpus work is still future work. lunar_occultation_path_at(...) / lunar_star_occultation_path_at(...) return OccultationPathGeometry in moira.occultations.

Ancient-occultation note:

  • Ancient occultations are not part of the active lun_occult_where path corpus.
  • They are deferred to a separate historical-validation program where the authority class is scholarly record reduction, not operational path publication. | mooncross_node | function | implemented | Low-level specialist helper | support | These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. | next_moon_node_crossing(jd_start, reader, ascending=True)float in moira.nodes. | | mooncross_node_ut | function | implemented | Low-level specialist helper | support | These are real computational surfaces that fit Moira's engine style and improve migration quality for advanced users. | next_moon_node_crossing(jd_start, reader, ascending=True)float in moira.nodes (UT-native). | | orbit_max_min_true_distance | function | implemented | Orbital-elements subsystem | support | This is now a live public subsystem with typed results and a single summit-grade external validation standard. | distance_extremes_at(body, jd_ut) -> DistanceExtremes in moira.orbits; validated against JPL HORIZONS vector-derived heliocentric extrema across all validated planets. | | refrac | function | implemented | Low-level astronomy helper | support | These are standard computational helpers with clear mathematical meaning and low API ambiguity. | atmospheric_refraction(altitude_deg, ...) in moira.coordinates. | | refrac_extended | function | implemented | Low-level astronomy helper | support | These are standard computational helpers with clear mathematical meaning and low API ambiguity. | atmospheric_refraction_extended(altitude_deg, ...) in moira.coordinates. | | set_delta_t_userdef | function | implemented | Explicit Delta-T override | support | This is a legitimate specialist control for historical/experimental work and aligns with Moira's model-basis transparency. | DeltaTPolicy(model='fixed', fixed_delta_t=...) passed to ut_to_tt() / planet_at() in moira.julian / moira.planets. | | set_lapse_rate | function | missing | Unclassified specialist gap | defer | The symbol names a real Swiss surface, but it should not be adopted without an intentional Moira-shaped design. | Add only after a dedicated typed API and validation story are defined. | | set_tid_acc | function | missing | Model-basis / tidal-acceleration control | defer | These are scientifically meaningful, but Swiss's sprawling constant matrix is not the right Moira surface. | If needed, add compact typed controls such as DeltaTPolicy, PrecessionPolicy, NutationPolicy, or TidalAccelerationPolicy. | | sol_eclipse_where | function | partial | Path/where geometry helper | support | Moira now has a real typed solar path surface with numerical greatest-geography solving and sampled central-track output. The current external validation slice is Swiss where parity at the maximum-geography level; full atlas-grade path validation is still future work. | EclipseCalculator.solar_eclipse_path(...) returns SolarEclipsePath in moira.eclipse. | | time_equ | function | implemented | Low-level astronomy helper | support | These are standard computational helpers with clear mathematical meaning and low API ambiguity. | equation_of_time(jd_tt) in moira.coordinates. | | vis_limit_mag | function | missing | Generalized heliacal / visibility surface | defer | This is a valid domain, but Moira should not accrete Swiss-style bitfields before the heliacal subsystem is unified and validated. | Introduce typed surfaces such as HeliacalEventKind, HeliacalPolicy, and VisibilityModel, then map selected behaviors onto those. |