fix: v4.2.1 技法修正 + 文档整理

技法修正(Critical):
- Karakamsha: DK→AK(灵魂星),经典定义是AK在Navamsa的星座
- D10 Dasamsa: 偶数星座偏移+8→+9(从第9个星座开始)
- D16 Shodamsa: 偶数星座偏移+1→+4(从Leo开始近似)
- Shadbala Kendra Bala: 不等值→统一15 Virupas(BPHS标准)
- Shadbala Ojayugma: 添加D9修正注释(当前D1近似)
- Shadbala Nathonnatha: 添加比例计算注释(当前二值近似)

文档修正:
- SKILL.md版本号v3.12.1→v4.2.0
- SKILL.md章节编号修正(12.5→13,后续顺延)
- SKILL.md参考文献重复编号修正
- SKILL.md参考数量100→102
- SKILL.md自评6.0/5→5.0/5
- SKILL.md硬编码Python路径→python3
- README.md从v3.7.1更新到v4.2.0

清理:
- 删除 example.py 空壳文件
- 删除 __pycache__ 和 hermes_memory.db
This commit is contained in:
732642856
2026-05-03 08:36:06 +08:00
parent 85359c2f0a
commit f3459376db
7 changed files with 323 additions and 319 deletions
+12 -10
View File
@@ -1129,12 +1129,13 @@ def cmd_jaimini(args):
if mode in ('all', 'dasha'):
result['chara_dasha'] = calc_chara_dasha(asc_idx, planet_lons, args.year, args.month)
if mode in ('all', 'karakamsha'):
# DK的D9位置(用planet_degs计算Karaka,用planet_lons计算Navamsa
# AK(灵魂星)的D9位置 — Karakamsha定义是AK在Navamsa中的星座
# ⚠️ 2026-05-03修正:此前错误使用DK,现已修正为AK
ck7 = calc_chara_karaka_7(planet_degs)
dk_name = ck7['karaka_table']['Darakaraka']['planet']
dk_lon = planet_lons.get(dk_name, 0)
dk_d9 = calc_varga(dk_lon, 9)
result['karakamsha'] = calc_karakamsha(dk_d9.get('sign', 'Aries'), dk_d9.get('degree_in_sign', 0))
ak_name = ck7['karaka_table']['Atmakaraka']['planet']
ak_lon = planet_lons.get(ak_name, 0)
ak_d9 = calc_varga(ak_lon, 9)
result['karakamsha'] = calc_karakamsha(ak_d9.get('sign', 'Aries'), ak_d9.get('degree_in_sign', 0))
return result
@@ -1449,13 +1450,14 @@ def cmd_full_reading(args):
jaimini_result['chara_karaka_8'] = calc_chara_karaka_8(planet_degs)
jaimini_result['chara_dasha'] = calc_chara_dasha(asc_idx, planet_lons, args.year, args.month)
# Karakamsha(用planet_degs计算Karaka,用planet_lons计算Navamsa
# Karakamsha(用AK灵魂星,非DK配偶星
# ⚠️ 2026-05-03修正:此前错误使用DK,现已修正为AK
ck7 = jaimini_result['chara_karaka_7']
dk_name = ck7['karaka_table']['Darakaraka']['planet']
dk_lon = planet_lons.get(dk_name, 0)
dk_d9 = calc_varga(dk_lon, 9)
ak_name = ck7['karaka_table']['Atmakaraka']['planet']
ak_lon = planet_lons.get(ak_name, 0)
ak_d9 = calc_varga(ak_lon, 9)
jaimini_result['karakamsha'] = calc_karakamsha(
dk_d9.get('sign', 'Aries'), dk_d9.get('degree_in_sign', 0))
ak_d9.get('sign', 'Aries'), ak_d9.get('degree_in_sign', 0))
report['modules']['jaimini'] = jaimini_result
except Exception as e:
report['errors'].append(f"jaimini: {e}")