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:
co-authored by
Claude Opus 5.5
parent
bf8d704708
commit
a1da24a60c
@@ -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 五分法?(产品决定,不是口径问题。)
|
||||
|
||||
## 其他观察(不在本单范围,未改)
|
||||
|
||||
|
||||
@@ -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` |
|
||||
|
||||
Reference in New Issue
Block a user