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
+13 -2
View File
@@ -214,14 +214,20 @@ def calc_sthana_bala(pname: str, lon: float, sign: str, house: int) -> Dict:
sapta_score = 5
# C. Ojayugma Bala(奇偶宫力量)
# ⚠️ 2026-05-03修正:BPHS定义是基于Navamsa(D9)中的奇偶宫,非D1
# 水星/金星:落在D9奇数宫(1,3,5,7,9,11)获得15 Virupas
# 其他行星:落在D9偶数宫(2,4,6,8,10,12)获得15 Virupas
# 简化实现:使用D1宫位奇偶(当D9不可用时作为近似)
# TODO: 未来需传入D9宫位以精确计算
if pname in ['Mercury', 'Venus']:
ojayugma = 15 if house % 2 == 0 else 0
else:
ojayugma = 15 if house % 2 == 1 else 0
# D. Kendra Bala(角宫力量)
kendra_scores = {1: 60, 4: 40, 7: 20, 10: 30}
kendra_bala = kendra_scores.get(house, 0)
# ⚠️ 2026-05-03修正:BPHS给出角宫(Kendra 1/4/7/10)统一15 Virupas,非不等值
# 此前错误使用{1:60, 4:40, 7:20, 10:30},已修正为统一15
kendra_bala = 15 if house in (1, 4, 7, 10) else 0
# E. Drekkana Bala(三分盘力量)
deg_in_sign = lon % 30
@@ -260,6 +266,11 @@ def calc_kala_bala(pname: str, is_night: bool, sun_northern: bool,
components = {}
# A. Nathonnata Bala(昼夜力量)
# ⚠️ 2026-05-03修正:BPHS给出比例计算(0-60),非二值(0/60)
# 水星永远获得完整60;日间行星白天按出生时间到正午距离比例获得0-60
# 夜间行星夜晚按出生时间到午夜距离比例获得0-60
# 简化实现:保持水星=60,其他按昼夜分组给60/0
# TODO: 未来需传入精确出生时间计算正午/午夜距离比例
if pname == 'Mercury':
nathonnata = 60
elif is_night and pname in NOCTURNAL_STRONG: