v6.0.14: 新增 Yogas + Doshas + Special Lagnas + Darakaraka 技法

- scripts/jaimini.py: 新增 calc_darakaraka 等5个函数(DK/婚姻分析)
- scripts/yogas_doshas.py: 新文件,11个函数(Raj/Dhana/PanchaMahapurusha/NeechaBhanga/MangalDosha/KaalSarp/Pitra/SadeSati/ArudhaLagna/UpapadaLagna)
- scripts/jyotish_engine.py: cmd_full_reading 新增 Step 4.9 调用 calc_all_yogas_doshas
- references/technique_registry.json: 新增11个技法注册(darakaraka/raj_yoga/.../upapada_lagna)
- references/strict-workflow-router.md: Audit Table 模板新增11行
- CHANGELOG.md: 新增 v6.0.14 条目
- SKILL.md: 版本号 6.0.13 → 6.0.14
This commit is contained in:
732642856
2026-06-04 05:12:35 +08:00
parent a20c13490c
commit 63fb547dda
7 changed files with 1154 additions and 5 deletions
+29
View File
@@ -3473,6 +3473,35 @@ def cmd_full_reading(args):
except Exception as e:
report['errors'].append(f"tajika-yogas+sahams: {e}")
# ── Step 4.9: Yogas + Doshas + Special Lagnas (v6.0.14) ──
try:
from yogas_doshas import calc_all_yogas_doshas
# 准备参数
asc_sign = SIGNS[asc_idx] if 'asc_idx' in dir() else SIGNS[0]
asc_lord = SIGN_LORDS.get(asc_sign, '')
moon_data = planets.get('Moon', {})
moon_sign = moon_data.get('sign', '') if isinstance(moon_data, dict) else ''
moon_house = moon_data.get('house', 0) if isinstance(moon_data, dict) else 0
mars_data = planets.get('Mars', {})
mars_house = mars_data.get('house', 0) if isinstance(mars_data, dict) else 0
sun_data = planets.get('Sun', {})
sun_house = sun_data.get('house', 0) if isinstance(sun_data, dict) else 0
# 12宫主星
h12_lord = SIGN_LORDS.get(SIGNS[(asc_idx + 11) % 12], '')
yd_result = calc_all_yogas_doshas(
planets, houses,
asc_sign, asc_lord,
moon_sign, moon_house,
mars_house, sun_house,
h12_lord
)
report['modules']['yogas_doshas'] = yd_result
except Exception as e:
report['errors'].append(f"yogas-doshas: {e}")
# ── Step 5: 精确相位 ──
try:
from aspects import calc_all_aspects