Files
Jyotisha/benchmark
732642856 a93245af0b fix(B1-B4): critical bugs from Einstein side-by-side validation
Bug #1: Ascendant degree 76.67° (out of range 0-30°)
- Root cause: cmd_chart stored absolute longitude (76.67°) in 'degree' field
  instead of degree-within-sign (16.67°)
- Fix: 'degree' now stores degree_in_sign (16.67°), added 'lon' field for
  absolute longitude used by downstream calculations
- Updated all 7 downstream reads (cmd_bhava_chalit, cmd_chart_rulership,
  cmd_yoga, cmd_dignity, cmd_solar_return, cmd_d9_expanded, cmd_full_reading)
  to use 'lon' instead of 'degree' for internal calculations
- solar_return.py: same fix for sr['ascendant'] reads

Bug #2: Dasha returns N/A in full-reading
- Root cause: cmd_full_reading passed transit_date as 'today' to cmd_dasha,
  but cmd_dasha looked for args.today which was None
- Fix: today_str = getattr(args, 'transit_date', None) or getattr(args, 'today', None)
- Result: Dasha now correctly shows Moon Maha / Jupiter Antar for Einstein

Bug #3: Nakshatra returns N/A in full-reading
- Root cause: nakshatra_full_report nested moon_nakshatra under 'summary'
  sub-dict; cmd_full_reading expected it at top level
- Fix: Added moon_nakshatra, moon_nakshatra_lord, moon_pada as top-level
  fields in nakshatra_full_report return value
- Result: moon_nakshatra now correctly shows Jyeshtha Pada 2

Bug #4: Yoga detects 0 in full-reading
- Root cause: cmd_yoga returned 'yogas' list but cmd_full_reading expected
  'detected_yogas' key
- Fix: cmd_yoga return dict now includes both 'yogas' and 'detected_yogas'
- Result: 15 yogas detected (Raja, Malavya, Voshi, Kemadruma, etc.)

Verification:
- py_compile: all pass
- audit_capabilities --mode validate: valid=True, warnings=0, problems=0
- Einstein full-reading: 45 modules, 0 errors, status=complete
2026-06-04 16:42:16 +08:00
..