MANAZIL_BACKEND_STANDARD - TheDaniel166/moira GitHub Wiki
Manazil Backend Standard
Version: 0.1 Date: 2026-06-13 Status: admitted backend standard for Phase 11 REST transport
Scope
This standard governs Moira's Arabic lunar mansion surface:
moira.manazil
It covers direct ecliptic-longitude mansion assignment, sidereal conversion policy, bulk longitude assignment, the 28-mansion catalog, and textual tradition attribution lookup.
It does not govern chart construction, Moon derivation, house systems, nakshatra computation, or Vedic lunar mansion doctrine.
Authority Layers
The computational mansion structure is:
- 28 equal stations
- span
360 / 28degrees - half-open boundary behavior
- tropical computation by direct longitude
- optional sidereal computation by explicit ayanamsa conversion
The default mansion table follows al-Biruni / Ibn Ezra as represented in
moira.manazil.MANSIONS.
Variant textual attributions are admitted for:
- al-Biruni
- Abenragel
- Ibn al-Arabi
- Agrippa
- Picatrix
The variant traditions change nature/signification text. They do not change the 28 equal computational boundaries.
Governing Objects
The admitted backend objects are:
MANSIONS: ordered catalog of 28 mansion recordsMANSION_SPAN: equal mansion spanMansionInfo: static mansion definitionMansionPosition: computed mansion assignmentMansionTradition: textual attribution selector
The admitted computations are:
mansion_of(longitude)mansion_of_sidereal(tropical_longitude, jd, ayanamsa_system, ayanamsa_mode)all_mansions_at(positions)all_mansions_at_sidereal(positions, jd, ayanamsa_system, ayanamsa_mode)variant_nature(mansion_index, tradition)variant_signification(mansion_index, tradition)
Required Transport Invariants
REST transport must preserve:
- mansion index
- Arabic name
- Latin name
- ruling star
- nature
- signification
- degrees inside mansion
- original longitude
- computation longitude
- tropical vs sidereal mode
- sidereal ayanamsa system and mode when used
- tradition attribution selector
- stage sequence
REST transport must not:
- hide sidereal conversion behind defaults when sidereal mode is requested
- compute chart Moon longitude implicitly
- collapse Arabic Manazil into Vedic nakshatra
- claim published-table validation beyond the existing equal-station arithmetic
- treat variant textual traditions as changing the mansion boundaries
Validation Requirements
Transport admission must verify:
- all 28 mansions are exposed
360 / 28span is preserved- final instant before a boundary remains in the prior mansion
- exact boundary advances to the next mansion
360wraps to mansion 1- sidereal mode requires
jd_ut - non-finite longitudes and JDs are rejected
- bulk inputs are non-empty and bounded
- bulk keys are non-empty
- mansion index lookup is restricted to
1..28 - tradition names are restricted to the admitted set
Non-Goals
This standard does not admit:
- chart-backed Moon mansion routes
- natal chart mansion profiles
- electional scoring
- mansion condition networks
- heliacal or fixed-star mansion variants
- Vedic nakshatra routes
- alternate non-equal mansion boundary systems