Round-7 option A is text-first, so Scorpio and Aquarius lords, the Ketu-only degree reversal, and node exaltation years now live in the Rath display layer. Scoring files stay unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
7.2 KiB
PROGRESS:占星师第七轮落地(p.43 双主星、只倒算计都、罗计旺陷加减年)— 2026-10-04
- 任务书:
docs/tasks/TASK-astrologer-rulings-batch6-20261004.md(64c652ee)。 - 分支:
codex/astrologer-rulings-batch6-20261004,工作树.worktrees/astrologer-rulings-batch6-20261004。 - 开工基线:
origin/staging=64c652ee。预检scripts/pre_work_check.py为pass,远端verified。磁盘/可用约 343 GiB。 - BUG:开工时最大号 BUG-1227。本单 BUG-1227 改 resolved,新增 BUG-1228(T2)、BUG-1229(T3)。
- 研究分支
86e55514不在本仓对象库,p.43 按任务书与第七轮回复在narayana_rath.py重写,没有搬研究开关。 - 冻结文件未改:
scripts/narayana_dasha.py、references/rectification_sealed_holdout.v1.json。Rath 仍只被narayana_legacy_label.py导入。
我替任务书确认的实现
- (a)(b) 的
rule记年数条款,同宫身份另记identity_rule: p116_longitude。经度全同则status: undecided,不按列表先后取星。 - (d) 的比较若因循环变成未决,不改走 (e)。
- (a) 两主都在天蝎或水瓶时,年数固定 12(四颗星在该宫的旺陷修正都是 0),身份仍可比经度。
- 第 2 周期仍是 12 减第 1 周期,基本年数和修正留空,只保留最终年数。
T2 第 5 级只倒算计都(BUG-1228)
_strength_degree:实体星与罗睺用宫内度数,计都用 30 − 宫内度数,0° 计都的比较值是 30。原书软件表 30 对的胜者与改前相同,不符仍是 Wadiyar 双子/射手、处女/双鱼,都在第 5 级。没有因本条改判的盘。
T3 罗计旺陷 ±1(BUG-1229)
rath_period_years。实体星沿用冻结函数。罗计按 Phalita:罗睺旺双子 / 陷射手,计都旺射手 / 陷双子。截在 0–12。大运和第 7 级都走这层。
显式起运宫后的年数(顺序都是 12/12):
| 表 | 星座 | 书印 | 新值 | 基本 | 修正 | 来源 |
|---|---|---|---|---|---|---|
| Table 15 | 水瓶、天蝎 | 2、7 | 2、7 | 与书印相同 | ||
| Table 17 | 天蝎 | 10(火星;Chart 3 也是 10) | 2 | 1 | +1 | 双主星 A 取计都,计都在射手入旺 |
| Table 17 | 水瓶 | 8(Table 17);9(Chart 3:罗睺 8+1) | 1 | 1 | 0 | 双主星 A 取土星,不取罗睺。Chart 3 的 9 年按罗睺仍可算出(基本 8、修正 +1),本单不采用 |
| Table 18 | 水瓶 | 2 | 1 | 2 | −1 | 主星仍是罗睺,罗睺落陷减 1。其余 11 段与书印相同 |
| Table 18 | 天蝎 | 9 | 9 | 与书印相同 |
其余样表行与书印相同的不逐行列。年数不再作通过线。
T1 双主星(BUG-1227,解除 blocked)
软件表 10 条都由 (d) 判出:
| 表 | 宫 | 书 | 我们 | 级 | 两主所在 |
|---|---|---|---|---|---|
| Table 22 | 水瓶 | 土星 | 土星 | 1 | 摩羯 / 巨蟹 |
| Table 22 | 天蝎 | 火星 | 火星 | 1 | 水瓶 / 摩羯 |
| Table 23 | 水瓶 | 土星 | 土星 | 2 | 摩羯 / 双子 |
| Table 23 | 天蝎 | 火星 | 计都 | 2 | 处女 / 射手 |
| Table 24 | 水瓶 | 土星 | 土星 | 2 | 天秤 / 射手 |
| Table 24 | 天蝎 | 火星 | 火星 | 2 | 水瓶 / 双子 |
| Table 25 | 水瓶 | 土星 | 土星 | 1 | 金牛 / 处女 |
| Table 25 | 天蝎 | 计都 | 计都 | 3 | 狮子 / 双鱼 |
| Table 27 | 水瓶 | 罗睺 | 罗睺 | 1 | 巨蟹 / 射手 |
| Table 27 | 天蝎 | 火星 | 火星 | 3 | 狮子 / 双子 |
9/10。唯一不符:Table 23 天蝎,书火星,第 2 级计都(射手得木星两个角色)。这是选 A 的已知代价。
底线:Table 15、17 通则起运宫仍自动复现(巨蟹第 1 级、双鱼第 2 级)。Table 18 显式巨蟹后顺序 12/12,通则仍是摩羯第 5 级。强弱 28/30。Table 25 子运仍是 24/36(巨蟹 12、双子 0、金牛 12)。
T4 展示
- 标签改为「Sanjay Rath 版(并列参考,未进打分与时间轴结论;按原书 p.43 正文(第七轮裁定))」,英文对照在
pl9_reader_english_terms.py。 - 参考版报告大运表改为基本年数 / 修正 / 最终。天蝎、水瓶各写一句双主星依据。
- 咨询卡只在当前大运是天蝎或水瓶时带这一句。字数测试仍不超过 12,500(加方法清单的年运、时运不超过 18,500)。
- 12 张公开盘的 Rath 段用真实引擎按盘内经度重算后写入 golden。乔布斯当前大运由天秤 70–72 岁改为水瓶 71–72 岁(前面天蝎少了 1 年,年龄边界前移)。嘉兰水瓶主星由土星改为罗睺,年数仍是 5 / 7。齐达内天蝎由火星 7 年改为计都 8 年(基本 7,入旺 +1)。梦露水瓶由 8 年改为 9 年(罗睺入旺 +1)。
测试
| 项 | 结果 |
|---|---|
test_narayana_rath_rules.py、test_narayana_rath_book_tables.py、test_narayana_legacy_label.py、test_report_english_dictionary.py、test_report_english_edition.py、test_narayana_dasha.py、test_node_own_sign_and_fixed_lords.py |
通过(上游对照 1 条因本机没有上游仓而跳过) |
| 咨询卡:Rath 三例、字数三份(证据卡、v2、压缩清单) | 通过 |
tsc --noEmit |
0 错。本机 Node 是 v24.15.0;tsc 与 npm test 用 nvm 的 Node 22.14.0 |
npm run lint |
0 error,126 warnings |
npm test(Node 22.14.0) |
4932 项,pass 4872,fail 19,skipped 41。失败 19 条都是本机没有 Docker,起不来 Postgres。与开工基线同一条命令的失败名单相同,顺序也相同 |
全量 pytest tests |
见下节 |
| v5 77 例 | 与第五批公布的记分板相同,见下节 |
快速门 run_quality_gate.py --profile quick --skip-frontend-runtime |
Quality gate passed。1046 passed、2 skipped(第五批记录是 1047 passed、1 skipped;本机多跳过 1 条,门禁结果是通过) |
全量 pytest
开工基线 64c652ee(一次性 --detach 工作树)与本分支各跑一遍 .venv 的 python -m pytest tests -q --tb=line。两边都先放好本机已有的 de421.bsp 和 hip_main.dat,避免 Skyfield 经本机代理现下这两份星历。
失败名单:基线 68 条,本分支 67 条。本分支没有多出来的失败。基线多的一条是 tests/test_vedastro_divisional_longitude_bridge.py::test_vedastro_bridge_divisional_longitudes_match_local_degree_mapping,当时报 bridge_runtime_error(两套全量同时在跑)。这条在基线工作树单独再跑通过。其余 67 条名字相同,包括库存清单、占星 oracle 快照、VedAstro 运行时针脚;Rath 定向测试和英文版测试不在失败名单里。
跑完后 git checkout 掉测试改写的 4 个 references/oracle/prashna_*_2026_07_20.json。
v5 77 例
命令:PYTHONHASHSEED=0 JYOTISH_API_CHART_CACHE_TTL_SECONDS=0 python scripts/research/holdout_v5_baseline.py --dataset v5。77 例,三套 harness 都没有 errors。打分文件与 64c652ee 无差异。记分板与第五批进度记录里的改前 / 改后数字相同:
| 指标 | ±10 | ±30 | ±60 |
|---|---|---|---|
| 先验头名 | 0.1818 | 0.0909 | 0.0779 |
| 六题回放头名 | 0.6364 | 0.4935 | 0.3117 |
| 线上区间回放头名 | 0.6623 | 0.5584 | 0.4026 |
| 覆盖(回放) | 0.987 | 0.987 | 0.987 |
| 中位宽度(回放) | 13 | 33 | 65 |
| futile 真值在区间 | 76 | 75 | 76 |