docs: batch 3 records after T4/T5 (red line 3 revised, Rath shown alongside, v5 trial results)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
Jesse_Chen
2026-10-03 21:09:48 +08:00
co-authored by Claude Opus 5.5
parent bf8d704708
commit a1da24a60c
6 changed files with 144 additions and 52 deletions
+14 -12
View File
@@ -16385,8 +16385,9 @@
- T3 `7cb332bc`:`narayana_rath.calc_narayana_rath`(Table 10 顺序、土星在起运宫 Table 11、计都反转、年数 `jaimini_odd_footed_dignity_v2` + 双主星 `jaimini_dual_lord_source_v1`、子运 12 等分 Table 13/11/14、起运宫用现有 `select_narayana_seed_sign`、平局输出 `parameter_sensitive` 并列两种起法)。给定原书起运宫时,三张样表 36/36 个大运星座与年数全对;但起运宫:Table 15 对(巨蟹),Table 17 选出处女(原书双鱼),Table 18 平局(原书巨蟹)。
- 验证:`tests/test_narayana_legacy_label.py`、`tests/test_narayana_rath_book_tables.py`(含「没有任何脚本导入 narayana_rath」)、`frontend/tests/consult-evidence-card-20260927.test.ts` 新增一条断言。
- 未解决:起运宫强弱规则缺两处口径,见进度记录「下轮问占星师」。答复前 Rath 版不接用户可见面、不进打分;T5 试算不做。
- 后续(2026-10-03):第五轮裁定后起运宫规则重做、Rath 版与旧算法并列显示,见 BUG-1218。
- 防复发:同上测试。
- 相关记录:BUG-1211(`narayana_dasha` 双主星不动)。
- 相关记录:BUG-1211(`narayana_dasha` 双主星不动)、BUG-1218。
- 复发自:无
- 修复版本:待发布(标注部分)
@@ -16421,23 +16422,24 @@
- 复发自:无
- 修复版本:待发布
## BUG-1218 | Sanjay Rath 版 Narayana 起运宫按第五轮 7 级通则重做:Table 15 / 17 复现,Table 18(Indira)通则在第 5 级判摩羯,与原书巨蟹不符
## BUG-1218 | Sanjay Rath 版 Narayana 起运宫按第五轮 7 级通则重做,与旧算法并列显示;Table 18(Indira)是原书内部矛盾
- 状态:investigating(规则已按裁定实现并有测试;Table 18 未复现 → 任务书红线 3:不接任何用户可见面、不做 T4 并列展示与 T5 v5 试算)
- 状态:resolved(分支 `codex/astrologer-rulings-batch3-20261003`,未推送;待验收)。Rath 版只作并列展示,打分与时间轴结论仍用旧算法;是否替换等 T5 试算结果由产品决定。
- 首次发现 / 最近更新:2026-10-03 / 2026-10-03
- 来源:占星师第五轮裁定 2026-10-03 问 1–4(Rath《Narayana Dasa》p.35–36、p.48、p.50 说明 2、p.51、p.53 Table 12、p.54 Table 14、p.63、p.65–66);产品负责人裁定土星与计都同在起运宫时计都优先(PyJHora 做法)。任务书 T3(T4、T5 未做)。移植来源:上游 `yinduzhanxing` `c7117f92` `scripts/narayana_dasha.py`(`select_narayana_seed_sign(strength_profile="rath_p36_role_conjunction_v1")` 的一、二级计数,`build_narayana_sign_sequence` 的 `rath_ketu_table12_v1` 分支,`_RATH_CLASSICAL_MOOLATRIKONA_SIGNS`);上游测试 `test_rath_role_strength.py` 的 p36 用例、`test_varsha_narayana_native.py` 的土星起运宫用例(大运部分)。
- 影响面:`scripts/narayana_rath.py`(研究用,未被任何脚本导入)。冻结身份文件 `narayana_dasha.py` 未改。
- 现象:第二批的起运宫判定只有前两级、且第二级不数同宫,Table 17 选出处女、Table 18 平局。
- 来源:占星师第五轮裁定 2026-10-03 问 1–4(Rath《Narayana Dasa》p.35–36、p.48、p.50 说明 2、p.51、p.53 Table 12、p.54 Table 14、p.63、p.65–66);产品负责人裁定土星与计都同在起运宫时计都优先(PyJHora 做法);产品负责人 2026-10-03 晚修改红线 3(依据只读审计 `docs/research/shared_engine_reuse_audit_2026_10_03.md`,`da95d92d`;任务书 `59bb7da3`)。任务书 T3、T4、T5。移植来源:上游 `yinduzhanxing` `c7117f92` `scripts/narayana_dasha.py`(`select_narayana_seed_sign(strength_profile="rath_p36_role_conjunction_v1")` 的一、二级计数,`build_narayana_sign_sequence` 的 `rath_ketu_table12_v1` 分支,`_RATH_CLASSICAL_MOOLATRIKONA_SIGNS`);上游测试 `test_rath_role_strength.py` 的 p36 用例、`test_varsha_narayana_native.py` 的土星起运宫用例(大运部分);上游 `chara_narayana_rath_wadiyar_table25_replay_2026_09_07.json` 的子运行(写进测试)。
- 影响面:`scripts/narayana_rath.py`;展示层 `scripts/narayana_legacy_label.py`(`rath` 视图)、咨询 `modules.narayana_dasha.rath`、全量解读 Step 4.13、`narayana-dasha` 命令行、参考版报告「Narayana Dasha 交叉时间轴」段、timing / annual 数据卡 `base.timing.narayana_rath`、英文对照词表。冻结身份文件 `narayana_dasha.py` 未改。
- 现象:第二批的起运宫判定只有前两级、且第二级不数同宫,Table 17 选出处女、Table 18 平局;产品面只有旧算法。
- 根因:上游按原书写好的分级函数没有同步,第二批从零重写,规则缺级。
- 修复:T3 提交。`compare_signs` 七级通则(① 占据星数,数实际星体含罗计;② 木星 / 水星 / 宫主三角色同宫或星座相位,每角色一次、不按星体去重;③ 占据星最高尊贵 旺 3 > Moolatrikona 2 > 本宫 1,再比有尊贵的星数;④ 双体 > 固定 > 活动;⑤ 宫主星座内度数,罗计取 30 − 度数;⑥ 宫主落在与所主星座奇偶相反的星座;⑦ 大运年数长者强),上一级分出即停,输出 `strength_level_decided`;Indira 特例 `book_example_exception: "rath_p66_indira_ak"`(含 8 星制 AK 的宫)只在七级全平且调用方显式允许时可用并标明;计都在起运宫按 Table 10 方向反转、保留步进(`table12_ketu_reversed`),土星在起运宫 Table 11 顺行,二者同在计都优先、`method_note`「PyJHora 兼容:计都优先」;子运比较大运星座与第 7 宫,取强者,从其宫主(双主按 `jaimini_dual_lord_source_v1`)所在星座起,12 等分,Table 13 / 11 / 14 由大运星座里的土星 / 计都决定,记录 `antardasha_start_rule`。输出 `profile`、`seed_sign`、`seed_basis`、`strength_level_decided`、`direction`、`exception_applied`、`dual_lord_rule`、`mahadasha`、`antardasha_start_rule`、`source`(页码)、`status`。
- 样表:Table 15 巨蟹(第 1 级)✓;Table 17 双鱼(第 2 级,双鱼得木星 + 宫主木星两角色、处女只得木星相位)✓;Table 18:巨蟹(土星)与摩羯(月亮)前四级全平,第 5 级巨蟹宫主月亮 5.6° < 摩羯宫主土星 21.8°,通则判摩羯;书内 AK 特例只在七级全平时可用,够不着。给定原书起运宫时三张样表 36 行大运星座与年数全对(不变)。
- 验证:`tests/test_narayana_rath_rules.py`(7 级每级一张构造盘且前几级相等;第 4 级用白羊对双子——对冲宫星座性质永远相同,Lagna / 第 7 宫比较里第 4 级不会起作用;全平盘只有显式允许时走 AK 特例;特例不覆盖通则;计都反转保留步进、不等于倒读;土星顺行、土计同宫计都优先;一、二级与上游函数 400 张随机盘逐项相同;上游 p36 与 Varsha 土星用例);`tests/test_narayana_rath_book_tables.py` 两条按三栏改写(现状钉住 Table 18 判摩羯),「没有脚本导入 narayana_rath」保留。
- 旁证(另一会话只读审计 `docs/research/shared_engine_reuse_audit_2026_10_03.md`,`da95d92d`,本单未独立复核):原书 Indira 手算例的结论句以「土星是 AK、度数最高」取巨蟹,但土星落巨蟹、主摩羯,第 5、6 条字面都指向摩羯;原书 Table 27 对同一命主的软件裁决也是摩羯。Table 18 是原书内部不一致,通则不复现属预期。审计另以原书 5 张软件裁决表核 `compare_signs`:30 对宫 28/30、双主星 8/10;Table 25 子运 36 行 24/36(双子段因强弱判定不同 0/12)。
- 未解决:Table 18 验收口径(红线 3 是否改由协调方交产品负责人)、Wadiyar 两对、子运方向,见进度记录「下轮问占星师」。答复前 Rath 版不接用户可见面、不进打分,T4 / T5 不做。
- 修复:
- T3 `b526be47`、`ad1d65b1`:`compare_signs` 七级通则(① 占据星数,含罗计;② 木星 / 水星 / 宫主三角色同宫或星座相位,每角色一次、不按星体去重;③ 占据星最高尊贵 旺 3 > Moolatrikona 2 > 本宫 1,再比有尊贵的星数;④ 双体 > 固定 > 活动;⑤ 宫主星座内度数,罗计取 30 − 度数;⑥ 宫主落在与所主星座奇偶相反的星座;⑦ 大运年数长者强),上一级分出即停,输出 `strength_level_decided`;计都在起运宫按 Table 10 方向反转、保留步进,土星在起运宫 Table 11 顺行,二者同在计都优先、`method_note`「PyJHora 兼容:计都优先」;子运比较大运星座与第 7 宫取强者,从其宫主(双主按 `jaimini_dual_lord_source_v1`)所在星座起,12 等分,Table 13 / 11 / 14,记录 `antardasha_start_rule`。Indira:`BOOK_EXAMPLES["rath_p66_indira_ak"]`(`book_internal_contradiction: true` 与证据句),只在显式指定巨蟹起运宫时复现并标 `book_example_exception`,同时原样输出通则自己的裁决(摩羯,第 5 级);七级全平时的 AK 裁决保留为显式开关,产品路径不用。
- T4 `935e26fb`:并列展示,见影响面;数据卡只上 timing / annual(其余单领域卡已在 11,979 / 12,000);golden 真实引擎重采。
- 验收(修订后红线 3):Table 15 巨蟹(第 1 级)、Table 17 双鱼(第 2 级)通则复现,12 个大运顺序与年数全对;Table 18 显式巨蟹 12/12;原书 5 张 D1 软件裁决表 30 对 28/30(两处 Wadiyar 双子/射手、处女/双鱼在第 5 级不符,测试钉住),双主星 8/10;Table 25 子运 24/36(双子段 0/12,随强弱判定)。
- 验证:`tests/test_narayana_rath_rules.py`(7 级每级构造盘、全平与 AK 开关、计都反转、土星顺行、土计同宫、一二级与上游函数逐项相同、上游 p36 与 Varsha 土星用例);`tests/test_narayana_rath_book_tables.py`(三张样表、软件表、Table 25;两条按三栏改写,「没有脚本导入」改为「只展示层导入、冻结打分文件与 rectification/ 不导入」);`tests/test_narayana_legacy_label.py`(新增 3 条:旧字段不变、报告并列与英文对照、golden 带 `rath`);`frontend/tests/consult-narayana-rath-card-20261003.test.ts`(timing / annual 卡带 Rath 大运且取自引擎原值、其他领域卡不带)。v5 77 例改前改后逐项相同。T5 试算见进度记录。
- 未解决:Wadiyar 两对、两处双主星、子运方向(p.47 正文 vs Table 25)、第 3 级比法、第 1 级是否数罗计等,见进度记录「下轮问占星师」。
- 防复发:同上测试。
- 相关记录:BUG-1215、BUG-1211。
- 复发自:无
- 修复版本:—(未接产品面)
- 修复版本:待发布
## BUG-1219 | 上游两处年主缺陷:选年主没用正式五分法;Panchadhikari 的 Muntha 候选用年盘上升推
@@ -1,6 +1,58 @@
# Narayana Rath 版替换校正试算(任务书 T5)— 2026-10-03
## 第三批更新(`TASK-astrologer-rulings-batch3-20261003`)
## 第三批 T5 结果(2026-10-03 晚,红线 3 修订后执行)
**结论先行:两种替换都不是净提升,按任务书口径(任一档降超过 1pt 即为变差)R1、R2 都判「变差」,不建议现在替换打分里的 Narayana。** R2(大运与子运都换)在 ±10 与 ±60 上明显变好(六题回放头名 ±60 +10.4pt),但 ±30 回放头名降 5.2pt、覆盖降 1.3pt;R1(只换大运)±60 覆盖降 2.6pt、futile ±60 真值在区间少 3 例。77 例里 73–74 例至少有一档结果变化,说明替换对打分影响很大、方向不一致。是否替换由产品决定;若要继续,建议先等占星师回答子运方向与 Wadiyar 两对(会改变 R2 的子运),再重跑。
- 分支:`codex/narayana-rath-rectification-trial-20261003`(基于第三批 `935e26fb`),提交 `e3e9befc` 只新增 `scripts/research/narayana_rath_trial.py`,**不合入、未推送**。开关做在研究脚本里:运行时把打分用到的 `narayana_dasha.calc_narayana_mahadasha` / `calc_narayana_antardasha` 两个模块属性换成 Rath 版(打分各处都经这两个属性取 Narayana),冻结文件字节不变。
- R1:只换大运(起运宫 7 级通则、Table 10 / 11 / 12 顺序、同一年数规则),子运仍是旧加权法。
- R2:大运与子运都换(子运:大运宫与第 7 宫取强者、从其宫主所在星座起、12 等分、Table 13 / 11 / 14)。
- 与旧算法同口径只算第一周期(旧打分也只算 12 宫一轮、按年龄取模)。起运宫七级全平时退回「从上升起」的 Rath 序列、子运平局退回旧子运——两者计数都是 0 次。
- 起运宫由第几级决定(大运调用次数):R1 第 1 级 68.5%、第 2 级 15.9%、第 5 级 14.8%、第 3 级 0.9%;R2 相近。第 4、6、7 级从未起作用。
- 命令:`PYTHONHASHSEED=0 JYOTISH_API_CHART_CACHE_TTL_SECONDS=0 python3 scripts/research/narayana_rath_trial.py --variant R1|R2 --counts-out <dir>/counts.json -- --dataset v5 --out-dir <dir> --json-out <dir>/summary.json`;对照为同一提交不加开关的 `holdout_v5_baseline.py`(与第三批开工基线逐项相同)。
| 指标(v5 77 例) | 档 | 基线 | R1 | R2 |
| --- | --- | --- | --- | --- |
| 先验头名 | ±10 | 0.1818 | 0.1948(+1.3) | 0.1818(0) |
| | ±30 | 0.0909 | 0.0909(0) | 0.1039(+1.3) |
| | ±60 | 0.0779 | 0.0779(0) | 0.0909(+1.3) |
| 六题回放头名 | ±10 | 0.6364 | 0.6364(0) | 0.6753(+3.9) |
| | ±30 | 0.4935 | 0.5065(+1.3) | **0.4805(−1.3)** |
| | ±60 | 0.3117 | 0.3636(+5.2) | 0.4156(+10.4) |
| 线上区间回放头名 | ±10 | 0.6623 | 0.6623(0) | 0.6883(+2.6) |
| | ±30 | 0.5584 | **0.5455(−1.3)** | **0.5065(−5.2)** |
| | ±60 | 0.4026 | 0.4286(+2.6) | 0.4286(+2.6) |
| 覆盖(回放) | ±10 | 0.987 | 0.987 | 0.987 |
| | ±30 | 0.987 | 0.987 | **0.974(−1.3)** |
| | ±60 | 0.987 | **0.961(−2.6)** | 0.987 |
| 中位宽度(回放,分钟) | ±10 / ±30 / ±60 | 13 / 33 / 65 | 11 / 37 / 73 | 13 / 35 / 69 |
| futile_collect 真值在区间(truth 方向) | ±10 / ±30 / ±60 | 76 / 75 / 76 | 76 / 75 / **73** | 76 / **74** / 76 |
(括号内为百分点变化;粗体为降幅超过 1pt 或例数减少。)
### 逐例变化最大的 5 例(只写案例 id)
R1:
| 案例 | 变化 |
| --- | --- |
| `pele_1940_aa_v5_holdout` | ±10 / ±30 / ±60 回放头名都由不中变中 |
| `silvio_santos_1930_aa_v5_holdout` | ±10、±60 头名由中变不中;±30 宽度 43 → 1425 |
| `chad_everett_1937_aa_v4_holdout` | ±30、±60 头名由中变不中;宽度 17 → 41、49 → 121 |
| `brigitte_bardot_1934_aa_v5_holdout` | ±30、±60 头名由不中变中;±30 宽度 33 → 11 |
| `arthur_conan_doyle_1859_aa_v5_holdout` | ±10、±30 覆盖由无变有;宽度变宽 |
R2:
| 案例 | 变化 |
| --- | --- |
| `dingdong_dantes_1980_aa_v5_holdout` | ±10 头名由中变不中;±10、±30 覆盖由有变无 |
| `manuel_puig_1932_aa_v5_holdout` | ±30、±60 头名由不中变中;宽度变宽 |
| `arthur_conan_doyle_1859_aa_v5_holdout` | ±10、±30 覆盖由无变有;宽度变宽 |
| `pele_1940_aa_v5_holdout` | ±10、±60 头名由不中变中;±60 宽度 71 → 35 |
| `barbra_streisand_1942_aa_v5_holdout` | ±10、±30 头名由中变不中 |
## 第三批更新(T3 当时的停工记录,保留)
**仍未做。** 第五轮裁定后起运宫改为 7 级通则(BUG-1218),三张样表里 Table 15、Table 17 复现,**Table 18(Indira)不复现**:通则在第 5 级(宫主星座内度数)判摩羯,原书是巨蟹。任务书红线 3 只允许 Table 18 走「书内特例」(含 AK 的宫),而特例只在七级全平时可用,此盘第 5 级就分出了强弱,够不着。所以没有开研究分支 `codex/narayana-rath-rectification-trial-20261003`,没有加试算开关,没跑 R1 / R2,校正打分文件一个字节都没动。
@@ -11,11 +11,19 @@
| --- | --- |
| T1 Mudda 改出生月宿起排 | 完成(BUG-1216)。9 盘起运星与公式 9/9 一致;只改年主 Mudda 表不变(测试) |
| T2 年主改 Tajika 五分法 | 完成(BUG-1217)。9 盘年主变 3/9 |
| T3 Rath 版 Narayana 重做 | 规则按第五轮裁定实现并有测试(BUG-1218);**原书样表 2/3**:Table 15、17 复现,**Table 18 不复现**(通则第 5 级判摩羯,原书巨蟹;书内 AK 特例只在七级全平时可用,够不着)→ **按红线 3 停在 T3** |
| T4 并列展示 | **未做**(红线 3) |
| T5 v5 试算 | **未做**(红线 3 / 让步顺序);研究分支未开;研究记录写明原因 |
| T3 Rath 版 Narayana 重做 | 完成(BUG-1218),**按修订后的红线 3 通过**:Table 15、17 通则自动复现;Table 18 显式指定巨蟹 12/12、标 `book_example_exception`,通则判摩羯照实输出;原书 5 张软件表 28/30(两处 Wadiyar 预期不符已写明);Table 25 子运 24/36(双子段注明) |
| T4 并列展示 | 完成(BUG-1218)。参考版报告与 timing / annual 数据卡并列显示 Rath 版,旧算法保留「旧算法」标注;打分与时间轴结论仍用旧算法;golden 真实引擎重采 |
| T5 v5 试算 | 完成(研究分支 `codex/narayana-rath-rectification-trial-20261003`,未合入、未推送)。R1、R2 都有档位降超过 1pt(R2 ±30 回放头名 −5.2pt,R1 ±60 覆盖 −2.6pt),按口径都算变差;R2 在 ±10、±60 明显变好(±60 六题回放头名 +10.4pt)。不是净提升,交产品决定 |
| T6 记录 | BUG-1216~1219、CHANGELOG、本文件、任务索引、BLOCKED、T5 研究记录 |
| 生时校正 | 冻结身份文件零改动(含 `narayana_dasha.py`),无需按 ERR-110 重新冻结,确认门测试路径不用改;v5 77 例改前改后逐项相同;不升打分版本 |
| 生时校正 | 冻结身份文件零改动(含 `narayana_dasha.py`),无需按 ERR-110 重新冻结,确认门测试路径不用改;v5 77 例改前改后逐项相同(T1–T3 后、T4 后各一次);不升打分版本 |
## 决策记录(执行中收到)
- **2026-10-03 晚,产品负责人修改红线 3**(协调方转达;任务书 `59bb7da3` 已同步修订,以其为准)。依据另一会话的只读审计 `docs/research/shared_engine_reuse_audit_2026_10_03.md`(`da95d92d`)§N1、§8:
- 原书 Indira 手算例(PDF Page 62;占星师引 p.65–66)的结论句以「土星是 AK、度数最高」取巨蟹,但土星**落**巨蟹、**主**摩羯,按第 5、6 条字面两条都指向摩羯;同一命主的原书 Table 27 软件裁决也是摩羯强于巨蟹。Table 18 是原书内部矛盾。
- 新验收口径:Table 15、17 通则自动选出原书起运宫且 12 个大运顺序与年数全对;Table 18 显式指定巨蟹后 12 个大运全对、输出带 `book_example_exception`,通则判摩羯照实输出、不改(不得为它写特例代码扭通则);原书 5 张 D1 软件表 30 对强弱写成测试、不少于 28/30,两处 Wadiyar 不符写明;Table 25 子运 36 行写成测试,断言现状 24/36 并注明。任一项低于现状即停。
- T4、T5 恢复执行。协调方另要求:`scripts/solar_return.py` 只做本批必需的最小改动(返照时刻修复 `TASK-annual-return-frame-20261003` 在本批之后由另一会话执行)。
- 本单据此:T3 加显式起运宫 + `book_example` 路径(`BOOK_EXAMPLES["rath_p66_indira_ak"]`,带 `book_internal_contradiction: true` 与证据句)、软件表与 Table 25 测试(数据取自审计脚本与上游 `chara_narayana_rath_wadiyar_table25_replay_2026_09_07.json`,写在测试里,未新增 references 文件);继续 T4、T5。
## 环境
@@ -27,7 +35,7 @@
| 预检 | `pre_work_check.py` exit 0 |
| 模型 key | 无 → 名人生平回测未跑(BLOCKED) |
| `next build` | 未跑(node_modules 为软链,Turbopack 拒绝;本单不改页面与路由) |
| 一次性工作树 | `.worktrees/batch3-baseline-ac588172`(基线:npm test、v5)、`.worktrees/batch3-eval-ecc76274`(改后 v5),均 `--detach` 新建,用完删除;未切换任何别人的工作树 |
| 一次性工作树 | `.worktrees/batch3-baseline-ac588172`(基线:npm test、v5)、`.worktrees/batch3-eval-ecc76274`(T1–T3 后 v5)、`.worktrees/batch3-eval-935e26fb`(T4 后 v5,也是 T5 的对照),均 `--detach` 新建,用完删除;T5 研究分支工作树 `.worktrees/narayana-rath-trial-20261003`(保留,供验收复跑);未切换任何别人的工作树 |
## 提交与任务对应
@@ -35,9 +43,11 @@
| --- | --- | --- |
| T1 | `547cf5f1`、`4956978d`(改写断言补三栏注释) | BUG-1216 |
| T2 | `c6aca9bf` | BUG-1217 |
| T3 | `b526be47` | BUG-1218 |
| golden 重采 | `ecc76274` | BUG-1216 / 1217 |
| T6 记录(BUG 历史含 BUG-1219、CHANGELOG、本文件、任务索引、BLOCKED、T5 研究记录) | 最后一个 docs 提交 | — |
| T3 | `b526be47`、`ad1d65b1`(红线 3 修订后:Table 18 显式起运宫路径、软件表与 Table 25 测试) | BUG-1218 |
| golden 重采 | `ecc76274`(T1/T2);T4 提交内再采一次(含 `rath`) | BUG-1216 / 1217 / 1218 |
| T6 记录 | `0ca850ba`(首版)+ 最后一个 docs 提交(T4 / T5 后更新) | BUG-1216~1219 |
| T4 | `935e26fb` | BUG-1218 |
| T5(研究分支,未合入) | `codex/narayana-rath-rectification-trial-20261003` `e3e9befc`(基于 `935e26fb`) | BUG-1218 |
## T1 Mudda(BUG-1216)
@@ -90,30 +100,39 @@
- 变 3/9(泰勒、梦露、卡罗),都发生在「多个候选以吉相位照年盘上升、比 Panchavargiya」的分支;「唯一吉 / 凶相位」分支不受分数影响。泰勒改前是水星、火星 14.0 平分按候选顺序取水星。
- 咨询 golden 三张盘里泰勒的年主随之从水星变火星(重采 `ecc76274`)。
## T3 Rath 版 Narayana(BUG-1218,未接)
## T3 Rath 版 Narayana(BUG-1218)
`scripts/narayana_rath.py` 整体按第五轮裁定重写(冻结的 `narayana_dasha.py` 不动,只复用其 Table 10/11/13/14、`_rasi_aspects`、年数与双主星函数):
- 起运宫 `compare_signs`:7 级通则,上一级分出即停、不加权,输出 `strength_level_decided` 与每级的值。我方取的细节(裁定没写死,已列入下轮问题):第 1 级数 9 颗星(含罗计);第 2 级「宫主」对天蝎 / 水瓶用 `jaimini_dual_lord_source_v1` 选出的那一颗;第 3 级先比占据星中最高的尊贵(旺 3 > Moolatrikona 2 > 本宫 1,整宫口径,罗计不计),再比有尊贵的星数;第 5 级罗计宫主取 30 − 度数。
- 一、二级就是上游 `select_narayana_seed_sign(strength_profile="rath_p36_role_conjunction_v1")` 的计数(`_role_candidate`),测试用上游函数在 400 张随机盘上逐项比对(主宫主、9 星口径下)。
- Indira 特例:`book_example_exception: "rath_p66_indira_ak"`(含 8 星制 AK 的宫),只有七级全平、且调用方传 `allow_book_example=True` 才走,结果 `status: book_example_exception` 并标明。
- Indira 特例:`book_example_exception: "rath_p66_indira_ak"`。两条路:① 七级全平、且调用方传 `allow_book_example=True` 时由「含 8 星制 AK 的宫」裁出(原任务书要求,保留);② 红线 3 修订后的验收路:`calc_narayana_rath(..., seed_sign_idx=巨蟹, book_example="rath_p66_indira_ak")`,输出 `status: book_example_exception`、`book_example`(`book_internal_contradiction: true` 与证据句),并把通则自己的裁决原样放在 `general_rule_selection`(摩羯,第 5 级)。产品路径两条都不走。
- 大运顺序:Table 10;土星在起运宫 Table 11 顺行;计都在起运宫按 Table 10 方向反转、保留固定 / 双体步进(上游 `rath_ketu_table12_v1` 原样);土计同在计都优先,`method_note`「PyJHora 兼容:计都优先」。
- 子运:比较大运星座与第 7 宫(同 7 级),取强者,从其宫主(双主同上)所在星座起,12 等分;顺序 Table 13,大运星座有土星 → Table 11、有计都 → Table 14(同在计都优先);记录 `antardasha_start_rule`(比较的两宫、强者、第几级、宫主、起点、表)。
- 输出:`profile: sanjay_rath`、`seed_sign`、`seed_basis`、`strength_level_decided`、`direction`、`exception_applied`、`dual_lord_rule`、`mahadasha`、`antardasha_start_rule`、`source`(页码)、`status`、`method_note`、`book_example_exception`。
### 三张原书样表复现
### 验收(修订后的红线 3)
| 样表 | 原书起运宫 | 7 级通则选出 | 由第几级决定 | 给定原书起运宫:顺序 / 年数 | 是否复现 |
| --- | --- | --- | --- | --- | --- |
| Table 15(Sri Aurobindo 1872) | 巨蟹 | 巨蟹 | 第 1 级:巨蟹 2 星(火、木)对摩羯 0 星 | 12/12 / 12/12 | ✓ |
| Table 17(书中标准盘 1963) | 双鱼 | 双鱼 | 第 2 级:双鱼得木星(同宫)+ 宫主木星(同宫)两角色;处女只得木星相位一角色(第 1 级 1:1) | 12/12 / 12/12 | ✓ |
| Table 18(Indira Gandhi 1917) | 巨蟹 | **摩羯** | 第 5 级:前四级全平(1:1、2:2、尊贵 0:0、都是活动宫);巨蟹宫主月亮在摩羯 5.59° < 摩羯宫主土星在巨蟹 21.79°。第 6、7 级也平(否:否、6 年:6 年) | 12/12(土星在巨蟹 → Table 11)/ 12/12 | ✗ |
| 项 | 要求 | 结果 |
| --- | --- | --- |
| Table 15(Sri Aurobindo 1872) | 通则自动选出巨蟹,12 个大运顺序 / 年数全对 | ✓ 巨蟹,第 1 级(巨蟹 2 星:火、木;摩羯 0 星);12/12 / 12/12 |
| Table 17(书中标准盘 1963) | 通则自动选出双鱼,12/12 | ✓ 双鱼,第 2 级(双鱼:木星同宫 + 宫主木星同宫两角色;处女:木星相位一角色;第 1 级 1:1);12/12 / 12/12 |
| Table 18(Indira Gandhi 1917) | 显式指定巨蟹后 12/12、带 `book_example_exception`;通则结果照实输出 | ✓ 12/12(土星在巨蟹 → Table 11)/ 12/12;`status: book_example_exception`;`general_rule_selection` = 摩羯、第 5 级(前四级全平:1:1、2:2、尊贵 0:0、都是活动宫;巨蟹宫主月亮在摩羯 5.59° < 摩羯宫主土星在巨蟹 21.79°;第 6、7 级也平) |
| 原书 5 张 D1 软件裁决表(Table 22 / 23 / 24 / 25 / 27) | ≥ 28/30,两处 Wadiyar 不符写明 | ✓ 28/30。不符正是 Table 25 双子/射手、处女/双鱼(书取双子、处女;通则第 5 级以水星 1.3° 对木星 10.0° 取射手、双鱼),测试断言不符集合恰为这两对、且都在第 5 级。双主星 8/10(Table 23 水瓶书取土星、我们罗睺;Table 25 天蝎书取计都、我们火星),测试同样钉住 |
| Table 25 子运 36 行 | 断言现状 24/36 并注明 | ✓ 巨蟹段 12/12、金牛段(土星在内,Table 11)12/12、双子段 0/12:双子/射手比较取射手(第 5 级,同上不符),子运从木星所在巨蟹起,原书从水星所在金牛起 |
- Table 18 若第 5 级不起作用,七级全平,AK(土星 21.79°,8 星制第一)在巨蟹,书内特例给出巨蟹——也就是说原书在 AK 那一步就定了,没有走到「宫主度数」。按任务书,特例只能在通则全平后使用,所以判不过。红线 3:不接任何用户可见面,T4、T5 不做。
- **旁证(另一会话的只读审计,`origin/staging` `da95d92d`:`docs/research/shared_engine_reuse_audit_2026_10_03.md` §N1,本单未独立复核)**:原书 Indira 手算例(审计记为 Page 62;占星师引 p.65–66)的次序是 (2) → 第二来源 → (3) → (4) → (7) → 「(5) 与 (6)」,结论句「Saturn is the Atmakaraka and has gained the highest longitude. Hence, we can take Cancer」;但土星**落**巨蟹、**主**摩羯,按第 5、6 条字面(看宫主)两条都指向摩羯;同一命主的原书 Table 27 软件裁决也是**摩羯强于巨蟹**。即 Table 18 是原书手算例与原书规则、原书软件表三方不一致,按 7 级通则不复现是预期结果,本单不为它改通则。是否改红线 3 的验收口径由协调方提交产品负责人。
- **审计里的附加证据(同上,本单未独立复核)**:原书 5 张出生盘软件裁决表(Table 22 / 23 / 24 / 25 / 27)共 30 对宫,`compare_signs` 对上 28/30(两处不符都在 Table 25 Wadiyar:双子/射手、处女/双鱼,书取双子、处女,通则第 5 级以水星 1.3° 对木星 10.0° 取射手、双鱼;对交点与岁差设置不敏感);双主星 8/10(Table 23 书取水瓶土星、我们罗睺;Table 25 书取天蝎计都、我们火星)。原书 Table 25 子运 36 行:巨蟹、金牛(土星在内)两段 12/12,双子段 0/12——因为第 1 处不符让子运比较取射手、从木星所在巨蟹起;子运方向按「起点星座」查 Table 13 与 Table 25 一致,但与原书 p.47 正文(按大运星座奇偶)不一致,第五轮问 4 没有裁方向。
- 软件表与 Table 25 的数据:出生资料与裁决按审计脚本转录(审计会话 scratchpad `verdicts.py`、`t25.py`),Table 25 子运行取自上游 `c7117f92` `references/oracle/chara_narayana_rath_wadiyar_table25_replay_2026_09_07.json`,都写在 `tests/test_narayana_rath_book_tables.py` 里,没有新增 references 文件(避免 `_en` 对照义务与上游 blob 漂移)。本单在本工作树复跑审计脚本,结果与审计一致(28/30、8/10)。
- Indira 的书内矛盾(审计 §N1):原书手算例(PDF Page 62;占星师引 p.65–66)次序为 (2) → 第二来源 → (3) → (4) → (7) → 「(5) 与 (6)」,结论句「Saturn is the Atmakaraka and has gained the highest longitude. Hence, we can take Cancer」;但土星**落**巨蟹、**主**摩羯,第 5、6 条字面都指向摩羯;同一命主原书 Table 27 软件裁决也是摩羯。按通则判摩羯是预期结果。
- 新增测试覆盖 7 级每一级(构造盘);第 4 级(星座性质)在 Lagna / 第 7 宫、大运宫 / 第 7 宫的比较里**永远不会起作用**——对冲两宫性质相同,测试用白羊对双子演示比较器本身。
## T4 并列展示(BUG-1218)
- 引擎:`narayana_legacy_label.label_legacy_narayana` 收到盘面时在旧结果下挂 `rath`(`rath_narayana_view`):`algorithm_label`「Sanjay Rath 版(并列参考,未进打分与时间轴结论)」及英文、`used_for_scoring: false`、`seed_sign`、`seed_basis`、`strength_level_decided` 与中英说明、`direction` 与中英说明、`exception_applied`、`method_note`、24 段大运(年龄与公历年)、当前大运 / 子运、当前大运的 12 段子运与 `antardasha_start_rule`。三个调用方传盘面:咨询 `modules.narayana_dasha`(`jyotish_api_server.py` 只改了这一行调用的参数,不增行)、全量解读 Step 4.13、`narayana-dasha` 命令行(多打印一段 Rath)。旧结果的每个字段不变(测试:带与不带 Rath 时去掉 `rath` 后逐项相同);Rath 计算出错只写 `rath.status: blocked`,不碰旧结果。
- 打分与时间轴结论:校正打分直接调冻结的 `narayana_dasha`,不经过展示层(测试:冻结清单与 `scripts/rectification/` 都不导入 `narayana_rath` / `narayana_legacy_label`;`narayana_rath` 只被展示层导入)。咨询卡里旧 Narayana 仍叫 `narayana`、仍带「旧算法」标签。
- 参考版报告「Narayana Dasha 交叉时间轴」段:旧算法那行下面加「- 并列:Sanjay Rath 版(…):起运宫 X(第 N 级:…);当前大运 Y,宫主 Z」「- 顺序:…」、Rath 24 段大运表、当前大运的 12 段子运表与起点说明。英文词表补齐(测试:这些行经英文词表后无中文)。读者版不显示 Narayana(与第二批相同),未改。
- 咨询数据卡:`base.timing.narayana_rath`(标签、起运宫、第几级、当前大运 sign / lord / years / 起止年龄),**只上 timing / annual 两类卡**。原因是字数:其余单领域卡最大 11,979 / 12,000(乔布斯婚恋),Rath 大运约 +174 字会超;timing / annual 卡按 BUG-1160/1161 口径是「契约 + 卡 ≤ 12,000、含清单 ≤ 18,000」,加上后最大 10,284 / 13,734。子运只进报告。其他领域卡要不要也放,需要产品决定(要放就得在卡上别处让出约 180 字)。
- golden:咨询卡 golden 与名人回测 golden 用真实引擎重采(`NARAYANA_KEEP` 加 `rath`)。三张 golden 盘的 Rath 起运宫:乔布斯双鱼(第 1 级)、奥巴马摩羯(第 3 级,土星在内 → Table 11)、泰勒金牛(第 5 级)。
## 改动的既有断言(原值 / 新值 / 原因)
| 文件 / 测试 | 原值 | 新值 | 原因 |
@@ -123,28 +142,31 @@
| 同文件 生产者一致性用例的 engine 集合 | `{"native_proxy"}` | `{"tajika_native_five_fold"}` | BUG-1217 |
| `tests/test_year_lord_basis_label.py::test_report_shows_the_basis_in_both_editions` | 中文含「Panchavargiya 为本地近似计算」,英文含「local approximation」 | 中文含「按 Tajika 五分力量」,英文含「Tajika five-fold strength」 | BUG-1217 |
| 同文件 `test_consultation_annual_card_carries_the_basis` | `varshesha_basis` 以「(Panchavargiya 为本地近似计算)」结尾 | 以「(按 Tajika 五分力量)」结尾 | BUG-1217 |
| `tests/test_narayana_rath_book_tables.py::test_start_sign_selection_current_state` | 改名前:Table 17 选处女、Table 18 平局(只有前两级) | `test_start_sign_by_the_seven_level_rule`:15 巨蟹(1 级)、17 双鱼(2 级)、18 摩羯(5 级,与原书不符),特例够不着 | BUG-1218(问 1、2) |
| `tests/test_narayana_rath_book_tables.py::test_start_sign_selection_current_state` | 改名前:Table 17 选处女、Table 18 平局(只有前两级) | `test_start_sign_by_the_seven_level_rule`:15 巨蟹(1 级)、17 双鱼(2 级)、18 通则判摩羯(5 级)照实输出;Table 18 另由 `test_table18_only_with_the_explicit_cancer_seed_and_flagged` 按显式起运宫 12/12 验收 | BUG-1218(问 1、2;红线 3 修订) |
| 同文件 `test_antardasha_is_twelve_equal_parts_from_the_md_sign` | 子运从大运星座起(巨蟹 → 巨蟹、双子、金牛) | `test_antardasha_starts_from_the_lord_of_the_stronger_of_md_and_seventh`:Table 15 巨蟹大运从射手起(月亮所在);Table 18 巨蟹大运取摩羯、从土星所在巨蟹起、Table 11 | BUG-1218(问 4) |
前端断言未改。
| 同文件 `test_rath_profile_is_not_wired_into_any_product_path` | 没有任何脚本导入 `narayana_rath` | 改名 `test_rath_profile_is_display_only`:只有展示层 `narayana_legacy_label.py` 导入;冻结打分文件与 `scripts/rectification/` 不导入 `narayana_rath` / `narayana_legacy_label` | BUG-1218 T4(并列展示,打分仍旧算法) |
前端既有断言未改(新增 `consult-narayana-rath-card-20261003.test.ts` 两条)。
## 测试
| 项 | 结果 |
| --- | --- |
| 新增 Python 测试 | `test_tajika_mudda.py`(170)、`test_tajika_five_fold_panchavargiya.py`(14)、`test_narayana_rath_rules.py`(16);`test_narayana_rath_book_tables.py` 仍 10 条(两条改写) |
| 新增 Python 测试 | `test_tajika_mudda.py`(170)、`test_tajika_five_fold_panchavargiya.py`(14)、`test_narayana_rath_rules.py`(16);`test_narayana_rath_book_tables.py` 10 → 13(三条改写、新增 Table 18 显式起运宫、软件表 28/30、Table 25 24/36);`test_narayana_legacy_label.py` 4 → 7 |
| 收尾定向合跑(新文件 + 年运包、咨询原生层、Tajika、年主、读者版、CLI 冒烟、Narayana 标注、英文词典 / 英文版、隐私、冻结完整性 / 新鲜度、API 增长合同) | 467 passed,exit 0 |
| 定向回归(年运包、咨询原生层、Tajika、年主选法、年主依据、读者版、CLI 冒烟、Tajika 对账、报告密度、Narayana 标注、英文版词典、隐私、冻结完整性 / 新鲜度) | 全过 |
| `tests/test_report_english_dictionary.py`(单独跑) | 通过 |
| `run_quality_gate.py --profile quick --skip-frontend-runtime`(系统 python3) | `Quality gate passed`,exit 0:1047 passed、1 skipped(快速门不含本单新测试文件,另行定向跑过) |
| `run_quality_gate.py --profile quick --skip-frontend-runtime`(系统 python3) | T3 后与 T4 后各跑一次,都 `Quality gate passed`,exit 0:1047 passed、1 skipped(快速门不含本单新测试文件,另行定向跑过) |
| 隐私 `tests/test_repo_privacy_markers.py` | 通过(记录提交后复跑) |
| `tsc --noEmit` | 0 错 |
| `npm run lint` | 0 error(126 warnings,与第二批同数) |
| `npm test`(Node 22.14) | 开工基线(`ac588172`,一次性工作树)4929 项 / pass 4864 / fail 24 / cancelled 0 / skipped 41;收尾 4929 / 4864 / 24 / 0 / 41,**失败名单按测试名逐条相同**(24 条均为 DB / Docker / 部署类)。确认门 `rectification-confirmation-gate.test.ts` 通过(本单未重新冻结,读取路径不用改) |
| `npm run lint` | 0 error(126 warnings,与第二批同数;T4 后复跑同) |
| `npm test`(Node 22.14) | 开工基线(`ac588172`,一次性工作树)4929 项 / pass 4864 / fail 24 / cancelled 0 / skipped 41;T3 后 4929 / 4864 / 24 / 0 / 41;T4 后(收尾)4931 / 4866 / 24 / 0 / 41(+2 为新增卡片测试),**两次失败名单都与基线按测试名逐条相同**(24 条均为 DB / Docker / 部署类)。确认门 `rectification-confirmation-gate.test.ts` 通过(本单未重新冻结,读取路径不用改) |
## 生时校正评测(v5 77 例)
- 命令:`python3 scripts/research/holdout_v5_baseline.py --dataset v5 --out-dir <dir> --json-out <dir>/summary.json`,`PYTHONHASHSEED=0`、`JYOTISH_API_CHART_CACHE_TTL_SECONDS=0`;改前 `ac588172`、改后 `ecc76274`(T1–T3 与 golden 之后),各在一次性 `--detach` 工作树。
- 本单无试算开关(T5 见下),「开关关闭时逐项相同」即改前改后逐项相同:
- 命令:`python3 scripts/research/holdout_v5_baseline.py --dataset v5 --out-dir <dir> --json-out <dir>/summary.json`,`PYTHONHASHSEED=0`、`JYOTISH_API_CHART_CACHE_TTL_SECONDS=0`;改前 `ac588172`、改后 `ecc76274`(T1–T3 与 golden 之后)与 `935e26fb`(T4 之后,引擎代码终版),各在一次性 `--detach` 工作树。
- 本分支没有试算开关(开关只在 T5 研究分支),所以「开关关闭时逐项相同」就是改前改后逐项相同:
| 指标(v5 77 例) | ±10 | ±30 | ±60 |
| --- | --- | --- | --- |
@@ -155,18 +177,32 @@
| 中位宽度(回放)前 / 后 | 13 / 13 | 33 / 33 | 65 / 65 |
| futile_collect 真值在区间(truth 方向)前 / 后 | 76 / 76 | 75 / 75 | 76 / 76 |
四个输出文件(sweep、cluster_width、合并 summary、v5_all 汇总)去掉耗时与路径字段后 **逐项相同**(`IDENTICAL` ×4)。冻结身份文件零改动,`test_rectification_validation_integrity_gate` / `test_sealed_holdout_contract_freshness` 通过;`ALGORITHM_VERSION` 不变。
`ecc76274`:四个输出文件(sweep、cluster_width、合并 summary、v5_all 汇总)去掉耗时与路径字段后 **逐项相同**(`IDENTICAL` ×4);`935e26fb`:sweep、cluster_width、合并 summary 三个文件 **逐项相同**(`IDENTICAL` ×3;该次没有写 v5_all 汇总文件)。冻结身份文件零改动,`test_rectification_validation_integrity_gate` / `test_sealed_holdout_contract_freshness` 通过;`ALGORITHM_VERSION` 不变。
## T5 Rath 版替换校正 Narayana 的 v5 试算(研究分支,不合入)
**结论:R1(只换大运)与 R2(大运和子运都换)都有档位降超过 1pt,按任务书口径都算「变差」;不是净提升,不建议现在替换。** 是否替换由产品决定。详表、开关做法、逐例变化最大的 5 例见 `docs/research/narayana_rath_rectification_trial_2026_10_03.md`。
| 指标(v5 77 例,百分点变化) | ±10 R1 / R2 | ±30 R1 / R2 | ±60 R1 / R2 |
| --- | --- | --- | --- |
| 先验头名 | +1.3 / 0 | 0 / +1.3 | 0 / +1.3 |
| 六题回放头名 | 0 / +3.9 | +1.3 / **−1.3** | +5.2 / +10.4 |
| 线上区间回放头名 | 0 / +2.6 | **−1.3** / **−5.2** | +2.6 / +2.6 |
| 覆盖(回放) | 0 / 0 | 0 / **−1.3** | **−2.6** / 0 |
| 中位宽度(分钟,基线 13 / 33 / 65) | 11 / 13 | 37 / 35 | 73 / 69 |
| futile 真值在区间(基线 76 / 75 / 76) | 76 / 76 | 75 / **74** | **73** / 76 |
- 77 例里 74(R1)/ 73(R2)例至少一档有变化:替换对打分影响大、方向不一致。
- 开关:研究脚本运行时替换打分用到的 `narayana_dasha` 两个模块属性,冻结文件字节不变;两档都只算第一周期(与旧打分同口径);起运宫全平、子运平局的退回各 0 次。
- 研究分支 `codex/narayana-rath-rectification-trial-20261003` `e3e9befc`(工作树 `.worktrees/narayana-rath-trial-20261003` 保留供复跑),不合入、未推送。
## 名人生平回测
卡片年运段变了(Mudda 分段、依据句、泰勒年主)。本机无模型 key,未跑,写入 `BLOCKED.md`。
卡片年运段变了(Mudda 分段、依据句、泰勒年主),timing / annual 卡多了 Rath 版大运。本机无模型 key,未跑,写入 `BLOCKED.md`。
## 下轮问占星师
1. **Table 18(Indira)**:7 级通则下,巨蟹(土星)与摩羯(月亮)前四级全平,第 5 级「宫主星座内度数」——巨蟹宫主月亮 5°36′、摩羯宫主土星 21°48′——判摩羯;原书 p.65–66 以 AK(土星)定巨蟹。请问:
- ☐ 「含 AK 的宫更强」应排在第 5 级之前(例如第 4 级之后),作为通则的一级;
- ☐ 第 5 级的比较方向或对象不是我们理解的(「宫主度数高者强」)——请说明;
- ☐ Indira 就是例外,原书此处与通则不一致,按通则出摩羯即可(那么 Table 18 不作验收样表)。
1. **Table 18(Indira)请确认按「书内例外」处理**:7 级通则下巨蟹(土星)与摩羯(月亮)前四级全平,第 5 级「宫主星座内度数」(巨蟹宫主月亮 5°36′、摩羯宫主土星 21°48′)判摩羯;原书手算例以「土星是 AK、度数最高」取巨蟹,但土星落巨蟹、主摩羯,原书 Table 27 软件裁决也判摩羯。产品已决定:通则出摩羯照实显示,原书巨蟹只在指定起运宫时复现并标「书内例外」。请确认,或指出我们读错的地方。
2. **第 3 级「占据星尊贵」怎么比**:我们先比两宫中最高的一档(旺 > Moolatrikona > 本宫),再比有尊贵的星数。对吗?罗睺、计都的尊贵算不算?
3. **第 2 级里天蝎 / 水瓶的「宫主」**:用双主规则选出的一颗(我们现在的做法),还是两颗都算一个角色?
4. **第 1 级占据星**:罗睺、计都算不算「星」?(我们按「实际星体」算了。)
@@ -174,7 +210,8 @@
6. **Wadiyar 两对(审计证据)**:原书 Table 25 软件裁决取双子(对射手)、处女(对双鱼),7 级通则在第 5 级以水星 1.3° 对木星 10.0° 取射手、双鱼。是否有漏掉的规则?另,双主星两处:Table 23 水瓶书取土星(我们罗睺)、Table 25 天蝎书取计都(我们火星)。
7. **子运方向**:原书 p.47 正文「依大运星座奇偶」;J.S. 2.4.31-32「大运星座为奇或其宫主落奇宫则顺行」;原书 Table 25 三段都跟起点星座奇偶(我们现在的做法)。取哪一种?
8. **第 5 级保不保留**:原书 p.32 正文说 Narayana 用 (2)(3)(4)(6) 和 (7) 或 (8),脚注 27 说只用 (2)(3)(4) 加第二来源。审计按 5 张软件表核:保留宫主度数 28/30,去掉 27/30(且 Indira 变平局)。请确认保留。
9. **年运强度表**:报告里年运「Harsha / Panchavargiya 强度」表仍是庙旺近似分,是否也统一为 Tajika 五分法?(产品决定,不是口径问题。)
9. **(产品)其他领域数据卡要不要也放 Rath 大运**:现在只上年运 / 时运卡;婚恋、事业等卡已在 11,979 / 12,000 字,放进去要在卡上别处让出约 180 字。
10. **年运强度表**:报告里年运「Harsha / Panchavargiya 强度」表仍是庙旺近似分,是否也统一为 Tajika 五分法?(产品决定,不是口径问题。)
## 其他观察(不在本单范围,未改)
+1 -1
View File
@@ -415,5 +415,5 @@
| `TASK-report-chart-blank-columns-20261003.md` | `PROGRESS-report-chart-blank-columns-20261003.md` | 报告/星盘页空列:Kranti 删列、八分法宫位表 SAV 标错(实为含上升 386)补三列、上升补星宿、分盘庙旺接引擎十档(有限推翻 BUG-1076/1099 三档)、报告末尾重复分盘去重(BUG-1199~1203);Claude 直接执行,已部署 staging `ae18952e`,真机待产品 |
| `TASK-astrologer-rulings-batch1-20261003.md` | `PROGRESS-astrologer-rulings-batch1-20261003.md` | 占星师定稿 2026-10-03 第一批(低风险批):五大人格、Kemadruma 各只留一个主检测器;Shadbala 达标在前、分档标「网站分档」;Bhava Bala 改正式三分量;罗计不设本宫、宫主链固定传统主星;8 星制 Karaka 排位按 BPHS 修正;八分法净化值进报告/卡片(过运不动);落陷取消改条件清单;Tajika 年主如实标注。乙3 Narayana、甲1、甲8/9 不在本单(BUG 从 1204 起) | 已实现待验收 | 分支 `codex/astrologer-rulings-batch1-20261003`(未推送;BUG-1204~1212;校正分数不变、未升版本) |
| `TASK-astrologer-rulings-batch2-20261003.md` | `PROGRESS-astrologer-rulings-batch2-20261003.md` | 占星师第四轮:五大人格 D9 落陷只算减弱;Tajika 年主按 Panchadhikari 选法(移植上游 c7117f92);Narayana 实现 Sanjay Rath 版并用原书三张样表验收,不接打分;旧 Narayana 如实标注;Rath 版替换校正 Narayana 的 v5 试算(只研究)。产品选方案 A(BUG 从 1213 起) | 已实现待验收(T3 起运宫未过原书样表,按红线未接、T5 未做) | 分支 `codex/astrologer-rulings-batch2-20261003`(未推送;BUG-1213~1215;校正分数不变、未升版本) |
| `TASK-astrologer-rulings-batch3-20261003.md` | `PROGRESS-astrologer-rulings-batch3-20261003.md` | 占星师第五轮:Mudda 改出生月宿起排(与年主脱钩);年主改 Tajika 正式五分力量;Rath 版 Narayana 按原书 7 级强弱、计都反转、子运起点重做并以三张样表验收,过了再并列展示与 v5 试算(研究分支);土计同宫计都优先(产品选 A);上游两个 bug 记录(BUG 从 1216 起) | 已实现待验收(T1、T2 完成;T3 规则已实现但 Table 18 未复现,按红线 3 停在 T3:T4 并列展示、T5 v5 试算未做) | 分支 `codex/astrologer-rulings-batch3-20261003`(未推送;BUG-1216~1219;校正分数不变、未升版本) |
| `TASK-astrologer-rulings-batch3-20261003.md` | `PROGRESS-astrologer-rulings-batch3-20261003.md` | 占星师第五轮:Mudda 改出生月宿起排(与年主脱钩);年主改 Tajika 正式五分力量;Rath 版 Narayana 按原书 7 级强弱、计都反转、子运起点重做并以三张样表验收,过了再并列展示与 v5 试算(研究分支);土计同宫计都优先(产品选 A);上游两个 bug 记录(BUG 从 1216 起) | 已实现待验收(T1–T4 完成;T3 按修订后红线 3 通过;T5 v5 试算在研究分支,未合入) | 分支 `codex/astrologer-rulings-batch3-20261003`(未推送;BUG-1216~1219;校正分数不变、未升版本);研究分支 `codex/narayana-rath-rectification-trial-20261003`(未推送、不合入) |
| `TASK-annual-return-frame-20261003.md` | `PROGRESS-annual-return-frame-20261003.md` | 太阳返照时刻错位:出生太阳与求解器不同参考系(差 15″≈6 分钟)+ 年盘丢秒;243 张年盘里年盘上升变 13、年主变 11;搬上游 7cc6425d/46ed9399 两处,PyJHora 对照 ≤0.5 分钟;排在第三批之后(依据 `docs/research/shared_engine_reuse_audit_2026_10_03.md`) | 已确认,第三批合入后开工 | 分支 `codex/annual-return-frame-20261003` |