vedic_jyotish_phase2_gaps - TheDaniel166/moira GitHub Wiki
Vedic Jyotish β Phase 2 Gap Register
OUTDATED β superseded as a work register (6 October 2026). The July notes mix original absence claims, later closure notices and remaining enrichment. Use the Vedic remaining work register for current engine/public/REST boundaries. The text below remains historical evidence and source leads, not a current implementation checklist.
Audit date: 2026-07-08
Method: code inspection of every Vedic-family module (sidereal, varga,
vedic_dignities, jaimini, panchanga, muhurta, dasha, dasha_systems,
ashtakavarga, shadbala, varshaphal, timelords) plus keyword sweep for
classical techniques with no implementation anywhere in moira/.
Impetus: the Bhava Bala omission (closed 2026-07-08) was traced to an
explicit out-of-scope note in the Phase-1 roadmap that nothing ever revisited.
This register exists so no further gap survives by silence.
Gap types: A = technique absent | B = depth gap in an existing subsystem Effort: S (small, days) | M (medium, ~a week) | L (large, multi-week)
0. Current-State Map (what Phase 1 delivered)
| Subsystem | State |
|---|---|
| Panchanga | Complete β 5 limbs, sankranti bisection, condition/chart profiles |
| Sidereal / nakshatra | Complete β 34 ayanamsas; nakshatra + pada + lord |
| Varga | Complete β 17 divisions incl. full Shodashavarga + D6/D8 |
| Vedic dignities | Complete β full Panchadha Maitri |
| Shadbala | Complete β 6 balas, Bhava Bala, Ishta/Kashta Phala, Graha Yuddha with transfer disclosure |
| Ashtakavarga | Strong β bhinna + sarva, Trikona & Ekadhipatya Shodhana, sign-level transit strength |
| Dashas | Strong β Vimshottari to L5 (Sookshma), Ashtottari, Yogini |
| Jaimini | Karakas only (7/8 scheme, Rahu inversion, tie detection) |
| Muhurta | Generic scoring β tithi/vara/nakshatra/karana classification, Abhijit/Brahma, window search |
| Varshaphal (Tajika) | Deep β muntha, sahams, mudda dasha, panchavargi, varshesha, judgement layer |
1. Yoga Engine β planetary combinations
Gap type: A (entire technique family absent) Effort: L Priority: 1 β the largest user-visible gap in the Vedic layer.
CORE CLOSED 2026-07-08. New
moira.yogasβ 60 yogas per chart across six families, every yoga a proof object (formation conditions with observed evidence, bhanga evaluated first-class, per-yoga source citations, Nabhasa precedence suppression visible): Pancha Mahapurusha (5, BPHS 75.1-2 verbatim-sourced), Chandra (7, incl. Kemadruma with its full bhanga catalog), Surya (4), Nabhasa (all 32, BPHS Ch. 35 + Brihat Jataka Ch. 12 with Bhattotpala's precedence), Raja core (Kendra-Trikona + 34.15 dilution, Yogakaraka, Dharma-Karmadhipati with the UK IV.3 proviso, Viparita with all three conflicting formulations as policy, Neecha Bhanga per PD 7.26-30), Dhana core (2-11, the UK IV.28 network with contamination, Lakshmi, Maha/Khala/Dainya Parivartana). Doctrine extracted from primary sources by four dedicated research passes (BPHS Santhanam, Brihat Jataka Sastri/Bhattotpala, Saravali, Phaladeepika, Uttara Kalamrita, Jataka Parijata, Raman Part I) β no rules from memory. Served atPOST /v1/yogas/evaluate. Remaining for a later wave: BPHS Ch. 41 per-lagna wealth instantiations (41.2-15), extended raja associations (BPHS Ch. 39 royal-birth combinations), JP 7.14 navamsa-based Neecha Bhanga (needs varga join), and Raman Part II citations (no accessible scan exists).
No yoga detection exists anywhere: no Pancha Mahapurusha (Ruchaka/Bhadra/ Hamsa/Malavya/Sasa), no Chandra yogas (Gajakesari, Sunapha/Anapha/Durudhara, Kemadruma), no solar yogas (Vesi/Vosi/Ubhayachari, Budhaditya), no Nabhasa yogas (32: 3 Ashraya, 2 Dala, 20 Akriti, 7 Sankhya), no raja/dhana-yoga foundations (kendra-trikona lordship links, Viparita Raja).
- Primary authority: BPHS yoga adhyayas; Mantreswara, Phaladeepika Ch. 6β7; Raman, Three Hundred Important Combinations (1947) β the natural engineering reference with per-yoga conditions.
- Design note: each yoga = a named rule with the conditions it met/failed made visible (transparency doctrine), plus strength context from the already-computed Shadbala. Cancellation (bhanga) conditions must be first-class, not bolted on β Kemadruma and Neecha Bhanga are defined as much by their cancellations as their formations.
- Dependencies: all satisfied β dignities, houses, shadbala, vargas exist.
- Validation: Jhora yoga list; Raman's worked combinations.
2. Jaimini expansion β beyond karakas
Gap type: A (four sub-techniques absent) Effort: L (as a family; each piece is M or smaller) Priority: 2.
CORE CLOSED 2026-07-08. New
moira.jaimini_extended: rasi drishti (JUS 1.1.2-4, all lineages agree, full-symmetry tested), arudha padas A1-A12 (Rath/JHora 10th-therefrom exception default with the Raman no-exception reading as policy; classical-seven vs Jaimini-co-lords lordship with the PVR 15.5.1 stronger-co-lord chain), argala (Rath/PVR reading with virodha pairs, the malefic-third rule, and the Ketu reversal), karakamsa (BOTH lineage products named β Rath D9 svamsa vs K.N. Rao D1 projection, never collapsed), and first-cycle Chara Dasha per K.N. Rao (Neelakantha karika; 9th-from-lagna direction rule; no exaltation adjustment β Rao explicit; antardashas dasha-sign-last). Served atPOST /v1/jaimini/extended/{arudhas,argala,karakamsa,chara-dasha}. Remaining: Rao's second Chara cycle (unverified against his book β deferred, not guessed), Rath/RB-NS Chara variants, argala strength grading via Shadbala.
Present: karakas only. Missing, in dependency order:
- Rasi drishti (sign aspects: movableβfixed skipping adjacent, dualβdual) β the aspect doctrine every other Jaimini technique consumes.
- Arudha padas (AL, A1βA12, UL) with the exception rules (pada falling in 1st/7th from its bhava reflects to the 10th/4th).
- Argala (intervention: 2/4/11 primary, 5 secondary; obstruction from 3/10/12) β consumes rasi drishti.
- Karakamsa (Atmakaraka's navamsha sign read as lagna in D1/D9) β trivial once karakas + vargas are joined.
- Chara Dasha (sign-based dasha; the most-requested Jaimini item after karakas). Note: multiple lineages (Raths's vs. Irangati's vs. classical K.N. Rao) differ on period computation β the implementation must name its lineage explicitly, per the Policy Explicitness law.
- Primary authority: Jaimini, Upadesa Sutras (Adhyaya 1); Sanjay Rath, Jaimini Maharishi's Upadesa Sutras (2002); K.N. Rao on Chara Dasha.
- Validation: Jhora (which exposes lineage choices explicitly β mirror that).
3. Upagrahas β Gulika, Mandi, and the kalavelas
Gap type: A Effort: M Priority: 3.
CLOSED 2026-07-08. New
moira.upagrahas: the five kalavelas (BPHS 3.66-70 eight-fold day/night division, weekday lord tables verified against the classical Saturday Gulika-kalam anchor and JP's Friday-night example) with the ascendant materialization, plus the five Sun-derived upagrahas (BPHS 3.61-64) with the verse's own self-check (Upaketu + 30 deg = Sun) enforced as an invariant. Lineage variants as policy: portion point (BPHS beginning default / JHora middle / UK-JP end), Mandi alias-vs-Kalidasa-table, contiguous-vs-JHora lord sequencing. Served atPOST /v1/upagrahas/{sun-based,kalavelas}.
No upagraha computation exists. Needed: Gulika/Mandi (Saturn's portion of the day-eighths), plus the remaining kalavelas (Kala, Mrityu, Yamaghantaka, Ardhaprahara) and optionally the Sun-derived sub-planets (Dhooma, Vyatipata, Parivesha, Indrachapa, Upaketu β pure longitude arithmetic).
- Primary authority: BPHS Ch. 3 (Grahopadesa); day/night eighth-division rule with lords ordered from the weekday lord.
- Dependencies:
moira.rise_setalready provides sunrise/sunset β the day-division substrate exists. - Policy note: Gulika vs. Mandi definitions differ by school (start vs. middle of Saturn's portion; some equate them). Both conventions must be explicit policy options, not a hidden default.
- Validation: Jhora, Kala (both expose the convention choice).
4. Avasthas β planetary states
Gap type: A Effort: M Priority: 4 β pairs naturally with the Shadbala drill-down.
CORE CLOSED 2026-07-08. New
moira.avasthas: Baladi (BPHS 45.3-4, with Vriddha honestly unnumbered β "negligible" has no classical fraction), Jagradadi (45.5-6, sign-level dignity), Deeptadi as four per-source rule tables (BPHS-9 default / Saravali-9 / JP-10 / PD-11 β the texts collide even on state names and are never merged), and the six non-exclusive Lajjitadi flags (45.11-18) with evidence strings. Served atPOST /v1/avasthas/evaluate. Remaining: Sayanadi (45.30-155) β deferred: needs birth ghatis + the native's name syllable, and Santhanam's printed sub-state example carries an arithmetic inconsistency needing a second-edition recheck.
None of the classical state systems exist: Baladi (5 age states by degree in odd/even sign), Jagradadi (3 awareness states from dignity), Deeptadi (7β9 mood states from dignity/combustion/war), Lajjitadi (6 conditional states β needs conjunction/aspect context).
- Primary authority: BPHS Ch. 45 (Avasthadhyaya); Saravali.
- Design note: mostly table-driven; Lajjitadi is the only one requiring
aspect machinery (exists). Combustion state needs Sun-proximity orbs β
present in
moira.phenomena. - Validation: Jhora avastha display.
5. Tara Bala + Chandra Bala β natal-personalized muhurta
Gap type: B (muhurta exists but is impersonal) Effort: S Priority: 5 β the highest value-per-effort item in this register.
CLOSED 2026-07-08.
moira.muhurta:tara_bala/chandra_bala/personal_muhurta_score(+ the long-dormant Tara placeholder in_classify_nakshatranow computes); served atPOST /v1/muhurta/personal/score.
muhurta.py scores a moment generically; classical practice always overlays
Tara Bala (count from janma nakshatra β 9-tara cycle: Janma/Sampat/
Vipat/Kshema/Pratyari/Sadhaka/Vadha/Mitra/Parama Mitra, with favorable/
unfavorable polarity) and Chandra Bala (transit Moon's house from natal
Moon; 1/3/6/7/10/11 favorable, 4/8/12 unfavorable β with 8th strongest
affliction).
- Primary authority: Muhurta classics (Muhurta Chintamani); Raman, Muhurtha (1936).
- Dependencies: all present β nakshatra_of, natal chart context.
- Surface: extend
MuhurtaScorewith tara/chandra components (sub-parts visible, per transparency doctrine) and add natal-aware variants of the scorer/window functions.
6. Vimshopaka Bala + Vargottama
Gap type: B (all 17 vargas computed; nobody aggregates them) Effort: S Priority: 6.
CLOSED 2026-07-08.
moira.varga:vimshopaka_bala/vimshopaka_all(all four BPHS groups, per-division breakdown with vargavishwa fractions)
is_vargottama/vargottama_planets; served atPOST /v1/varga/vimshopaka.
- Vimshopaka Bala: the classical 20-point weighted dignity score across the four varga groups (Shadvarga 6 / Saptavarga 7 / Dashavarga 10 / Shodashavarga 16), each group with its own BPHS weight table.
- Vargottama: flag planets occupying the same sign in D1 and D9 β a one-line derivation the public surface simply never exposed.
- Primary authority: BPHS Shodashavarga Adhyaya (vimshopaka weight tables).
- Dependencies: none β pure aggregation over
moira.varga. - Validation: Jhora vimshopaka display.
7. Ashtakavarga polish β Kakshya + Shodhya Pinda
Gap type: B Effort: SβM Priority: 7.
- Kakshya-level transit: each sign divides into 8 kakshyas (3Β°45' each,
lords SaturnβJupiterβMarsβSunβVenusβMercuryβMoonβLagna); a transit scores
only when the transited kakshya's lord contributed a rekha. Refines the
existing sign-level
transit_strength. - Shodhya Pinda: Rasi Pinda + Graha Pinda multipliers applied after the two Shodhanas (which already exist) β the predictive quantity classical ashtakavarga actually uses for transit results and longevity work.
- Primary authority: BPHS Ashtakavarga Adhyaya; Raman, Ashtakavarga System of Prediction (1981) β already the committed table source.
8. Sade Sati
Gap type: B (derivable from transits but not a named product)
Effort: S
Priority: 8.
CLOSED 2026-07-08. New
moira.sade_sati:sade_sati_status(phase + Ashtama/Kantaka flags) andsade_sati_windows(kernel-timed sign-ingress bisection, retrograde re-entries as separate windows); served atPOST /v1/sade-sati/statusandPOST /v1/sade-sati/windows.
Saturn's transit through the 12th/1st/2nd from natal Moon, with phase boundaries (rising/peak/setting) and exact ingress timestamps from the existing transit search. Optionally Kantaka Shani / Ashtama Shani flags. Pure composition of existing machinery into the named product users ask for.
9. Kalachakra Dasha β recorded deferral
Gap type: A (explicitly deferred since Phase 1) Effort: L Priority: 9 β remains deferred.
dasha_systems.py documents the deferral (navamsha-based Savya/Apasavya
traversal, variable cycle length, lineage disputes). Kept in the register so
the deferral stays a decision, not an accident. Precondition: a committed
lineage choice (Jhora's implementation notes are the practical cross-check).
Recommended sequencing
| Wave | Items | Rationale |
|---|---|---|
| Quick wins | #5 Tara/Chandra Bala, #6 Vimshopaka+Vargottama, #8 Sade Sati | Days each; all substrate exists; immediate site value |
| Flagship | #1 Yoga engine | Largest gap; modular (ship family-by-family: Mahapurusha β Chandra/solar β Nabhasa β raja/dhana) |
| Deepening | #3 Upagrahas, #4 Avasthas, #7 Ashtakavarga polish | Medium; each closes a classical-completeness hole |
| Expansion | #2 Jaimini family | Large; internally ordered (rasi drishti first) |
| Deferred | #9 Kalachakra | Revisit after the above |
Every implementation follows the Phase-1 pattern: primary authority named, engineering reference committed, sub-components exposed with their parts and totals (transparency doctrine), policy choices explicit where schools differ, validation against Jhora/Kala plus source-owned invariants.