3 Commits

Author SHA1 Message Date
732642856 ad69744617 docs: update validation report & CHANGELOG with Yoga expansion results
- validation-einstein-2026-06-04.md: update Yoga section (15→24 detected)
- CHANGELOG.md: add Yoga expansion details to v6.0.25 section
- List all 4 categories (A-D) with specific Yoga names
2026-06-04 17:03:22 +08:00
732642856 00bce757eb chore: bump version to v6.0.25, update validation report & CHANGELOG
- SKILL.md: v6.0.24-mcp-server -> v6.0.25-bugfix
- technique_registry.json: v6.0.24-mcp-server -> v6.0.25-bugfix
- CHANGELOG.md: add v6.0.25 section with 4 bug fixes
- benchmark/validation-einstein-2026-06-04.md: update with post-fix results
  (ascendant 16.67°, Dasha Moon Maha/Jupiter Antar,
   15 yogas detected, Nakshatra Jyeshtha Pada 2)
2026-06-04 16:46:55 +08:00
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