fix(dignity): record Neecha Bhanga kendras and clip the first dasha from its full parent (BUG-1268, upstream 4a807e7d)

This commit is contained in:
jesse-ux
2026-10-07 17:40:58 +08:00
parent f02d27a73f
commit edeec41309
4 changed files with 202 additions and 36 deletions
+16
View File
@@ -17046,3 +17046,19 @@
- 相关记录:BUG-1220
- 复发自:无
- 修复版本:本分支待发布
## BUG-1268 | 落陷取消只查两种条件,第一大运的小运从截断点起排
- 状态:resolved
- 首次发现:2026-10-07
- 最近更新:2026-10-07
- 影响面:尊贵判断里的落陷取消;全盘报告的 Vimshottari 小运;Bhava Bala 表;八字 Chara Karaka 表
- 用户现象:落陷取消只在定位星入庙或旺星同宫时成立。出生落在第一大运中途时,小运从截断后的起点重排,而不是从完整大运起点排完再裁。Bhava Bala 的合计行会被印成多一宫。Karaka 表没有用于排序的度数
- 触发条件:判断落陷取消;渲染第一大运被出生截断后的小运;渲染 Bhava Bala 或 Karaka 表
- 根因:尊贵路径只记录了定位星入庙、旺星与落陷星同宫。上游 `4a807e7d` 另加定位星在月亮的四正宫、定位星在上升的四正宫。小运以前用截断后的可见段长度重算。Bhava 渲染把 houses 列表整段打出,合计行没有宫号。Karaka 表只有盘面度数
- 修复:尊贵证据的 `conditions_checked` 加入上述两条件,并把宫位送进尊贵上下文。命中只记取消条件,`royal_yoga_label_allowed` 为假,不标成 Raja Yoga。卡片仍走原有的 `calc_nicha_bhanga_raj_yoga`。第一大运的小运和更小运从完整父段起点排,显示时裁到出生之后,并保留 `unclipped_start_datetime`。Bhava 表改用带宫号的行。Karaka 表增加 Ranking degree 列,取 `effective_degree_in_sign`
- 验证:`tests/test_neecha_bhanga_dignity_evidence.py`;`tests/test_neecha_bhanga_conditions.py`;`tests/test_bhava_bala_formal.py`;`tests/test_chara_karaka_8_bphs_order.py`
- 防复发:上述测试锁住条件名、未裁起点和宫号过滤
- 相关记录:BUG-1205、BUG-1261
- 复发自:无
- 修复版本:本分支待发布