lord_of_the_turn_roadmap - TheDaniel166/moira GitHub Wiki
Lord of the Turn Roadmap
Purpose
This document defines the implementation roadmap for Moira's Lord of the Turn subsystem.
It assumes the companion doctrine document exists:
This is a source-verification-first roadmap. The Lord of the Turn is the least-documented of the four Medieval Time Lord techniques Moira needs to implement. Unlike the Lord of the Orb (which has confirmed formulas and a clean arithmetic engine), the Lord of the Turn requires source confirmation of its sensitive-point set and dignity algorithm before Phase 1 can begin.
The Al-Qabisi and Egyptian/Al-Sijzi variants are currently at different documentation levels:
- Al-Qabisi — structure documented in secondary literature (almuten over solar return chart points); precise sensitive-point set and weighting scheme need source confirmation from Burnett/Yamamoto/Yano or Dykes
- Egyptian/Al-Sijzi — real as a tradition family; mechanics not yet confirmed at implementation level; requires source disambiguation before any design work
Current constitutional status: P0 — pre-constitutionalization; source verification
required before P1 can begin.
Current Moira State
Relevant implementation files:
moira/longevity.py—dignity_score_at()function; almuten-style dignity scoring; Egyptian bounds, triplicity rulers, face rulersmoira/lots.py— lot positions available as solar return chart inputsmoira/dignities.py— dignity infrastructure
Lord of the Turn: NOT IMPLEMENTED.
Infrastructure available:
dignity_score_at(longitude, planet, chart)inlongevity.py— this is structurally what the Lord of the Turn needs applied over solar return chart points- Egyptian bounds, triplicity rulers, face rulers all in
longevity.py - Solar return chart calculation available via
moira/progressions.pyor equivalent
The core dignities infrastructure is present. The gap is:
- which chart points to score over (source confirmation needed)
- whether to use the natal chart, solar return chart, or both as the evaluation frame
- how Al-Qabisi's weighting scheme differs from the generic almuten
Core Insight
The Lord of the Turn is an almuten-over-solar-return calculation. The
dignity-scoring infrastructure already in longevity.py is the right engine.
The work is:
- confirm which sensitive points are used (source verification)
- confirm the weighting scheme (may differ from Hyleg almuten)
- design the solar return chart input contract
- implement Al-Qabisi first; Egyptian/Al-Sijzi second after disambiguation
This is not a mathematically novel technique — it reuses dignity infrastructure that already exists. The uncertainty is doctrinal, not computational.
Truth Domain Axes
1. Method Variant
Governs which Lord of the Turn algorithm is applied.
Values:
al_qabisi— almuten over a confirmed set of solar return chart points per Al-Qabisi's Introduction; implement firstegyptian_al_sijzi— Egyptian tradition as transmitted/modified by Al-Sijzi; deferred until source disambiguation complete
2. Sensitive Points Set
Governs which chart points are scored in the almuten calculation.
Known candidates (require source confirmation for Al-Qabisi):
- solar return Ascendant degree
- solar return Midheaven degree
- solar return Sun position
- solar return Moon position
- Lot of Fortune in the solar return
- natal Ascendant degree (carried into the return frame)
This axis must be confirmed from source before Phase 1 design is finalized.
3. Dignity Weights
Governs how dignity types are weighted in the almuten scoring.
The generic almuten weights (domicile 5, exaltation 4, triplicity 3, term 2, face 1) may or may not match Al-Qabisi's specific scheme.
Requires source confirmation.
4. Dignity Table
Governs which bounds and triplicity systems are used.
Default assumption: Egyptian bounds and Dorothaean triplicity rulers, matching
the existing longevity.py infrastructure. Confirm against Al-Qabisi source.
5. Evaluation Frame
Governs whether the natal chart, the solar return chart, or both participate in selecting the Lord of the Turn.
Selection: likely solar return chart points only. Interpretation: natal condition of the winning planet applies after selection.
Pre-Phase-1 Verification Tasks
These must be completed before Phase 1 implementation begins.
V1 — Confirm Al-Qabisi Sensitive Points
Source: Charles Burnett, Keiji Yamamoto, Michio Yano (trans.), Alcabitius: The Introduction to Astrology (Warburg Institute, 2004).
Target section: Al-Qabisi's treatment of the annual revolution; Lord of the Turn (or equivalent terminology in the translation).
Output: a confirmed list of sensitive points and any stated weighting scheme.
V2 — Confirm Egyptian/Al-Sijzi Distinction
Source: Benjamin N. Dykes, Works of Sahl and Masha'allah (Cazimi Press, 2008); The Book of Nine Judges (Cazimi Press, 2011).
Question: is "Egyptian/Al-Sijzi" one method (Al-Sijzi transmitting the Egyptian tradition) or two distinguishable methods?
Output: a confirmed answer + the sensitive-point set for the Egyptian variant.
V3 — Confirm Dignity Weights
Question: does Al-Qabisi use the standard almuten weights or a modified scheme for the Lord of the Turn?
Output: confirmed weight values or confirmation that standard weights apply.
Implementation Phases
Phase 1 — Al-Qabisi Lord of the Turn
Prerequisite: V1 and V3 complete.
Scope: compute the Lord of the Turn for a given year using Al-Qabisi's confirmed algorithm.
Module: moira/timelords.py or a new moira/annual_indicators.py
(decision deferred to constitutional process module boundary work)
Tasks:
- Define
LordOfTurnMethodenum:AL_QABISI,EGYPTIAN_AL_SIJZI - Define
LordOfTurnResultdata vessel:planet: strmethod: LordOfTurnMethodscore: float(dignity score of the winning planet)scores: dict[str, float](all candidate scores for transparency)
- Add
lord_of_turn_al_qabisi(natal_chart, solar_return_chart) -> LordOfTurnResult - Reuse
dignity_score_at()fromlongevity.pyas the scoring engine; do not duplicate the dignity logic
Acceptance criteria:
- returns a single winning planet with its dignity score
- exposes all candidate scores so the caller can inspect the result
- uses confirmed sensitive points from V1
- uses Egyptian bounds and confirmed triplicity rulers
- does not modify
longevity.py
constitutional target: P1 COMPLETE after this phase.
Phase 2 — Egyptian/Al-Sijzi Variant
Prerequisite: Phase 1 complete; V2 complete.
Scope: add the Egyptian/Al-Sijzi variant as a second named method.
Tasks:
- Implement
lord_of_turn_egyptian_al_sijzi(natal_chart, solar_return_chart)using the confirmed sensitive-point set from V2 - Add
EGYPTIAN_AL_SIJZItoLordOfTurnMethod - If the two methods share the same algorithm with different point sets, unify under a single parameterized function; if they differ structurally, keep them as separate implementations
constitutional target: P2 COMPLETE after this phase.
Phase 3 — Annual Hierarchy Integration
Scope: integrate Lord of the Turn alongside Lord of the Orb and other annual indicators in the Abu Ma'shar eight-indicator hierarchy.
Prerequisite: Phase 1 complete; Lord of the Orb Phase 2 complete.
Note: the Lord of the Turn is not explicitly ranked in Abu Ma'shar's eight-indicator list (which names Lord of the Orb as indicator #6). The Lord of the Turn may be a separate tradition's primary governor or may map to a different position in the hierarchy. Do not assign a rank without source confirmation.
Relationship to Other Subsystems
| Subsystem | Relationship |
|---|---|
longevity.py |
dignity_score_at() is the scoring engine; do not modify |
timelords.py |
natural home for annual indicators |
| Lord of the Orb | separate technique; shares annual timing context |
| Nine Parts | Al-Sijzi's Part mechanics intersect; coordinate Phase 2 of both |
The Lord of the Turn is the only Medieval Time Lord technique that requires a solar return chart as input. The solar return chart input contract should be designed to match whatever solar return chart interface Moira establishes elsewhere.
Open Questions
- Should
lord_of_turn()andlord_of_orb()share a module, or should annual indicators be split into their own file? - Is there a solar return chart type already in Moira (via
progressions.pyorchart.py)? This determines the input contract for Phase 1. - Does Al-Qabisi's Lord of the Turn map to Abu Ma'shar's ranked hierarchy, or is it a parallel tradition's equivalent concept?
Research Sources
- Charles Burnett, Keiji Yamamoto, Michio Yano (trans.), Alcabitius: The Introduction to Astrology (Warburg Institute, 2004) — primary source for V1 verification
- Benjamin N. Dykes, Persian Nativities III (Cazimi Press, 2010) — annual revolution system context
- Benjamin N. Dykes, Works of Sahl and Masha'allah (Cazimi Press, 2008) — related annual techniques; Egyptian tradition context
- Benjamin N. Dykes, The Book of Nine Judges (Cazimi Press, 2011) — Al-Sijzi context
moira/longevity.py—dignity_score_at(),EGYPTIAN_BOUNDS,TRIPLICITY_RULERS— existing scoring infrastructure