Commit Graph

8 Commits

Author SHA1 Message Date
732642856 7ae756f97b guard release code against redaction placeholders 2026-07-13 22:53:04 +08:00
732642856 f5606a933b chore: remove private chart data from project 2026-07-08 17:03:04 +08:00
732642856 82f6ec76c7 fix: expose wealth varga and solar return evidence 2026-07-01 22:45:41 +08:00
732642856 5d35731f8b Add jyotish oracle evidence calibration gate 2026-06-25 18:33:26 +08:00
732642856 494e387018 Productize jyotish app release surface 2026-06-24 13:37:33 +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
732642856 78e6f12b43 v6.0.19: fix degraded mode - Muntha no longer skipped without swisseph
Bug: v6.0.18's solar_return_full_report returned early when calc_solar_return_chart
failed (no swisseph), skipping Muntha entirely.

Fix:
- Added _estimate_sun_sign() with lookup table for sun sign from birth date
- Refactored solar_return_full_report to use degraded mode:
  - Muntha + Year Lord always computed (using lookup table sun sign)
  - Tajika/Sahams/Tri-Pataka/Mudda gracefully skipped with notes
- Added _SUN_SIGN_LOOKUP table covering 1950-2100, \u00b11 sign accuracy

Files: solar_return.py, SKILL.md, CHANGELOG.md, technique_registry.json
2026-06-04 11:03:26 +08:00
732642856 0d44b9b43f v6.0.18: Solar Return/Varshaphala 实现 + Muntha covered
变更概要:
- scripts/solar_return.py(新):太阳返照盘核心计算(二分法求精确UT时刻)
- scripts/cmd_solar_return.py(新):solar-return 子命令
- scripts/jyotish_engine.py:新增 Step 4.12 + cmd_solar_return 注册 + --target-year 参数
- references/technique_registry.json:muntha→covered,新增 solar_return(covered)
- CHANGELOG.md:新增 v6.0.18 条目
- SKILL.md:版本 6.0.18

已知限制(待修复):
- swisseph 不可用时,calc_solar_return_chart 报错导致 solar_return_full_report 提前返回,Muntha 计算被跳过。
- 修复方向:将 calc_solar_return_chart 拆为 UT 计算(近似算法可用)和 chart 计算两步,chart 失败时不中断 Muntha 计算。
2026-06-04 07:35:57 +08:00