Files
Jyotisha/docs/tasks/PROGRESS-rashi-dashas-native-20261008.md
T
Jesse_ChenandClaude Opus 5.5 256fdb26b9
Independent Staging Quality Gate / validate (push) Successful in 23m22s
Independent Staging Quality Gate / publish (push) Successful in 3m34s
test(rashi-dashas): compare with PyJHora on the same Lahiri chart
The frozen comparison put an engine-default (Raman) native chart next to a
LAHIRI PyJHora chart, so half of every recorded difference was ayanamsa.
Both the freezer and the test now pass ayanamsa_name=lahiri; the fixture and
the progress diff table are regenerated. Report code is unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-09 06:35:49 +08:00

16 KiB
Raw Blame History

进度 · 报告补 7 种星座大运(2026-10-09)

  • 分支:codex/rashi-dashas-native-20261008
  • 基线:e1c7383c(当时的 origin/staging,已含章动 BUG-1275 与完整数据版)。本分支第一行是 ## codex/rashi-dashas-native-20261008,不跟踪 origin/staging。
  • 状态:代码在本分支,未推送,未合入,未上线。等验收。
  • 上游:G:\Ferti\yinduzhanxing 的 origin/main 本轮核对为 0337b77fce353252f7d115025c8703c3aec4204a。scripts/drig_dasha.py 的 blob 是 b80cf089e2e7901f8b5cdbe989341309b4fee0f4。23be1807 不当参照。没有使用上游本地脏 HEAD。
  • 生成器:C:\Users\74082\anaconda3\python.exe(3.11)装有 PyJHora 4.8.7,已用来生成 tests/fixtures/rashi_dasha_pyjhora_20261008.json。这不是无 jhora 环境。产品模块运行时不导入 jhora。pytest 只读这份 JSON。
  • 本机不能声称 Linux 全量 ⊆ 基线、快速门通过或浏览器走查。已知 Windows 失败 tests/test_consultation_native_layers.py::test_the_new_layer_leaves_every_existing_output_unchanged 不是发布依据。

开工预检

python scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 退出码 1。fragment_scan 在 90 秒超时,focused_tests 在 45 秒超时。超时退出不算通过。本轮没有把这次预检改写成通过。

结论

六种大运进入完整数据版,表头写档案名、书名页码,并写「未与外部软件逐一核对」。Lagna Kendradi 不上报告,用一句缺席说明代替空表。不进对话卡,不进生时校正打分,不升算法身份,不进大运解释包。起始星座、方向、年数由本仓盘面算出。与 PyJHora 不一致的地方没有调参。

中文标题故意不带 Dasha。完整数据版清理器会把这个词换成「大运」,再删掉它和下一句中文之间的换行。英文标题保留 Dasha。报告正文不写英文单词 blocked。

source_bounded_child_periods.py 在 0337b77f 上有 3 处 jhora 字样,都是档案名字符串,不是 import。没有把运行时导入移植过来。

没有整文件拷贝上游展开器,也没有把书籍原文拷进本仓。没有重跑上游同盘整篇导出做逐字节对照。上游展开器自己不选起始星座,同盘导出里的表取决于当时填进去的输入。

7×4 规则

星座序号 0 是白羊,11 是双鱼。子运都不写更小一级。

大运 起始星座 方向 年数 子运
Sthira goel_rao_short_brahma_method_v1 Brahma 所在星座。Brahma 取上升与第 7 较强者的 6/8/12 宫主,排除土星。力量是 Goel / BVB 简法的星力加宫力,不是 Shadbala,也不是 PyJHora 的 house.brahma。上升与第 7 总分相同,用两宫主里 Charakaraka 名次更高的一个。出处:Predicting through Jaimini Astrology,印页 100–108 一律顺行。印页 107。上游按奇偶换向的展开器不用 基本 7、固定 8、变动 9。日历周年 第一段子运就是本运星座,然后顺行。月数等于本运年数。日历月
Drig drig_rath_aspect_sequence_v1 永远从上升的第 9 宫起。Crux of Vedic Astrology,印页 288 不是一条黄道方向。第 9、第 10、第 11 三个锚点各自带上它所看的星座;偶数序号顺行看,奇数序号逆行看。印页 395。上游候选档案 drig_rath_narayana_duration_v1 是普通黄道奇偶,报告不用这个名字 本仓 Narayana jaimini_odd_footed_v1,传统宫主,不计尊贵,不计交点。印页 288 写与 Narayana 相同。书里另一句「15 到 25 年」是 10 年,没有拿来改年数 本运宫主与第 7 宫主比简法星力,较强者所在星座作子运种子;其后按本运星座奇偶。12 段平分本运的日历区间。平手则该运不列子运
Shoola shoola_forward_md_direct_ad_v1 上升与第 7 比简法宫力,取较强者。总分相同再用宫主的 Charakaraka。仍分不出就不列表。印页 395 的句子只规定主运 顺行(书里的 regular) 每段 9 个日历年 12 段顺行,每段 9 个日历月,第一段就是本运星座。这是档案名里的子运,不是印页那一句单独写明的
Navamsha goel_method_1_v1 九分上升的序号为偶数则从九分上升起,否则从它的第 7 起。九分按元素:火白羊、土摩羯、风天秤、水巨蟹,一脚 3°20′。Predicting through Jaimini Astrology,印页 139,只用方法 1 一律顺行 在九分里数到传统宫主。奇数星座顺数,偶数逆数。距离 0 记 12,否则距离加 1。天蝎火星、水瓶土星,不双主,不减 1 第一段子运就是本运星座,顺行,月数等于年数。让步允许砍子运,本轮保留
Niryaana Shoola goel_nirayana_shoola_v1 与 Shoola 相同的简法种子。同盘印页的 Jaimini 宫力从双鱼起;简法总分打平后 Karaka 选处女。报告保持简法,不改成双鱼。印页 162 一律顺行 每段 9 个日历年 12 段,每段 9 个日历月,从本运星座顺行
Lagna Kendradi blocked blocked blocked blocked。上游注册表写没有安全默认值。报告不列表
Chara kn_rao 已有模块:从上升起。Predicting through Jaimini's Chara Dasha,印页 32–33 第 9 若是偶足则逆行,否则顺行。偶足是 3、4、5、9、10、11 数到解析后的宫主再减 1;结果 ≤0 记 12;入旺加 1,落陷减 1。天蝎看火星与计都,水瓶看土星与罗睺。0 年合法 已有模块把上升序旋转 1 位,再平分本运区间。印页 35–36 要求每一运用该星座自己的顺逆,且本运星座在最后。两者只在第一运重合。没有改 jaimini.py。报告写明这一节是 K.N. Rao 的 Chara,不是 Narayana

书内例题与书内分叉

照 BUG-1218:同一本书或同一张例盘有两种算法时,写明选了哪一边,不把另一边的数填进报告。

  • Sthira:简法例盘的星力是 150、120、180、130、70、150、50,宫力是 280、260、250、260、250、260、230、300、250、130、150、260。Brahma 为火星,从天蝎顺行,年数 8、9、7、8、9、7、8、9、7、8、9、7。同一张盘若用书里的整套 Jaimini 宫力,会从双鱼(金星)起。本站选简法。Charan Singh 表是整套方法,不混用。测试锚点是构造日期,不把印页上的时钟写进本文。
  • Navamsha:方法 1、2、3 彼此不同。本站只选方法 1。九分上升为双鱼时,从处女起。这是起始规则。印页年数行有缺口,不把整行年数说成已复现。
  • Niryaana Shoola:Goel 是上升或第 7、顺行、9 年。PyJHora 是第 2 或第 8、按奇偶、7/8/9 年。Raman 又是另一套奇偶。同一例盘上,印页 Jaimini 宫力起双鱼,简法起处女。报告用简法。
  • Sthira 方向:Goel 与 PyJHora 都是顺行。上游 sthira_dasha.py 按奇偶换向。本站跟 Goel。
  • Drig:印页 395 是相位组顺序。上游候选档案是普通黄道。PyJHora 接近相位组,并多一轮 12 减 n。巨蟹上升的相位序是 11、8、5、2、0、4、7、10、1、9、6、3。年数不改去凑「15 到 25 年」。
  • Shoola:第 7 较强且第 7 是摩羯时,顺行每段 9 年,白羊落在第 27 到 36 年。这是用简法宫力造出来的盘,不是手填种子。子运从本运星座起;PyJHora 的第一段子运不是本运星座。印页那一句只写主运。
  • Chara:白羊上升的主运是十二星座顺行,第一段子运从金牛起、最后回到白羊,与印页 32–36 的第一运一致。其后各运的子运仍用模块的旋转,不改成书里的「每运自定顺逆」。木星在摩羯时,构造盘的射手运是 0 年。
  • Lagna Kendradi:上游注册表说没有安全默认值,上游另一个运行入口仍会吐出一张表。本站跟注册表和决策 3,不采用那张表。

四张盘与 PyJHora 4.8.7(本节作废,见文末 Claude 验收:本站一侧按引擎默认 Raman 计算,PyJHora 一侧是 Lahiri,比较的不是同一张盘)

前 6 段的星座序号与年数。差只记在起始星座、方向、年数、子运、日期基准。年数按「星座与年数的配对」比较:同一套年数只是换了起点,不算年数差。日期基准是星座和年数都相同、下一段起点不同,来自日历年与 PyJHora 的年日长度,没有改年数去对齐。Lagna Kendradi 四张盘都是四步全差,因为本站不列表;下面不重复。交点用本仓默认平交点,PyJHora 用真交点。章动 BUG-1275 已在基线里,宫头可以和 PyJHora 4.8.7 的 Lahiri 差一个小角度。这两处都不回改大运。

steve_jobs_1955_aa

大运 差在 本站前 6 段 PyJHora 前 6 段 哪边符合所选出处
Sthira 起始、子运 8 起,年 9、7、8、9、7、8 11 起,同年数模式 本站是简法 Brahma。PyJHora 用它自己的 Brahma
Drig 四步都有 1、9、6、3、2、5;年 7、3、2、4、7、8 0、4、7、10、1、3;年 12、6、6、1、7、4 本站是印页 395 的一轮相位组,年数是 Narayana 奇足。PyJHora 另有第二轮
Shoola 起始、子运 11 起,各 9 年,顺行 10 起,各 9 年,顺行 本站按简法宫力。子运从本运起;PyJHora 的第一段子运不是本运
Navamsha 起始、年数、子运 3 起,年 9、7、3、3、6、7,顺行 0 起,各 9 年 本站是方法 1。PyJHora 不是这套年数
Niryaana Shoola 方向、年数、子运 11 起,顺行,各 9 11 起,逆行,年 9、8、7、9、8、7 本站跟 Goel。PyJHora 是第 2/第 8 与 7/8/9
Chara 起始、年数、子运 5 起,年 8、2、6、6、4、5 4 起,年 6、8、2、6、6、4 两边都顺行。前 6 段像差一个起点,但星座与年数的配对并不相同,所以年数仍记下。没有改 jaimini.py

barack_obama_1961_aa

大运 差在 本站前 6 段 PyJHora 前 6 段
Sthira 起始、子运 3 起,年 7、8、9、7、8、9 9 起,同年数模式
Drig 方向、年数、子运 5、2、11、8、6、10;年 2、1、2、1、8、1 星座相同;年 2、1、1、0、8、1。后面的顺序不同
Shoola 子运、日期基准 3 起,各 9,星座相同 星座与 9 年相同
Navamsha 起始、年数、子运 4 起,年 6、12、3、11、4、12 0 起,各 9
Niryaana Shoola 四步都有 3 起,各 9,顺行 4 起,年 8、9、7、8、9、7
Chara 年数、子运 9 起逆行,年 12、0、3、8、2、1 星座相同,年 12、0、9、8、2、1。第二段都是 0 年。第三段 3 对 9

einstein_1879_aa

大运 差在 本站前 6 段 PyJHora 前 6 段
Sthira 只有日期基准 11 起,年 9、7、8、9、7、8 星座与年数相同
Drig 方向、年数、子运 10、0、3、6、11、8;年 11、9、8、5、1、2 10 起;10、6、3、0、11、8;年 11、6、7、10、1、2
Shoola 子运、日期基准 2 起,各 9 星座与 9 年相同
Navamsha 起始、年数、子运 5 起,年 12、5、10、12、3、10 10 起,各 9
Niryaana Shoola 四步都有 2 起,各 9 9 起,年 7、9、8、7、9、8
Chara 年数、子运 2 起逆行,前 6 段年数 8、11、10、1、11、10 星座与这 6 段年数相同。全表里天蝎是 8 年对 3 年,所以年数仍记下

fictional_reader_main

大运 差在 本站前 6 段 PyJHora 前 6 段
Sthira 起始、子运 2 起,年 9、7、8、9、7、8 0 起,年 7、8、9、7、8、9。星座与年数的配对相同,只是起点不同,年数不另记
Drig 方向、年数、子运 9、7、4、1、10、0;年 12、7、5、12、1、2 9、7、4、1、10、6;年 12、8、5、11、1、6
Shoola 子运、日期基准 7 起,各 9 星座与 9 年相同
Navamsha 起始、年数、子运 0 起,年 9、5、12、10、7、5 10 起,各 9
Niryaana Shoola 四步都有 7 起,各 9 8 起,年 9、7、8、9、7、8
Chara 年数、子运 1 起逆行,年 12、2、9、1、12、8 星座相同,年 11、2、9、1、12、8。第一段 12 对 11

乔布斯盘的坐标沿用已有 fixture(ERR-086),没有另造出生地。

报告

乔布斯盘的完整数据版中文章出现 Sthira、Niryaana Shoola、Drig、Navamsha、Shoola、Chara 和「本站选用的方法」。Lagna Kendradi 一节只有缺席句:「本轮不上表:没有选定的安全默认算法,故本报告不列出该大运。」这一节没有星座表。英文是 “This report does not include Lagna Kendradi: no safe default method is selected.” 英文章 0 汉字。没有盘面经度时这一章不出现,旧的无盘样例仍不出现 Sthira。

Chara 另写:「这一节是 K.N. Rao 的 Chara 表,不是 Narayana 表。」

本机测试

命令 退出码
C:\Users\74082\anaconda3\python.exe -m pytest tests/test_rashi_dashas_native.py tests/test_report_full_data_fix.py tests/test_niryaana_shoola_dasha.py tests/test_runtime_jhora_import_scan.py -q --tb=line 0(27 过)
C:\Users\74082\anaconda3\python.exe -m py_compile scripts/goel_short_strength.py scripts/rashi_dashas_native.py scripts/rashi_dasha_report.py scripts/research/freeze_rashi_dasha_pyjhora_fixture.py scripts/pl9_full_data_export.py 0
开工 scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 1(超时,不算通过)

git add 之后另跑 tests/test_repo_privacy_markers.py,结果写在提交说明旁边的验收回报里。没有跑 Linux 快速门,没有跑浏览器走查。

让步

只用了 Lagna Kendradi:不上表。Navamsha 子运和 Drig 子运都保留。Sthira、Shoola、Niryaana Shoola、Chara 的主运没有砍。

下轮问占星师

Lagna Kendradi 没有可以安全默认的算法,所以这轮报告只写缺席。请定四件事:种子是上升,还是上升与第 7 里较强的一个;方向按星座奇偶,还是按土星、计都;年数是否像 Narayana 那样再有一轮 12 减 n;顺序是沿黄道,还是按 Kendra、Panaphara、Apoklima。定下来之前不补表。

Drig 也请看一眼:报告用的是 Crux 印页 395 的相位组,不是上游候选档案里的普通黄道顺序。

真人核对清单:docs/testing/rashi-dashas-native-20261008.md。

Claude 验收与补修(2026-10-09)

  • 发现:scripts/research/freeze_rashi_dasha_pyjhora_fixture.py 与 tests/test_rashi_dashas_native.py::test_pyjhora_fixture_diffs_stay_on_the_recorded_steps 调 compute_chart_data 时没传岁差,引擎默认 Raman;PyJHora 一侧 set_ayanamsa_mode("LAHIRI")。上面「四张盘」各表因此作废。报告路径不受影响(按请求的岁差算)。
  • 补修:两处都改为 ayanamsa_name="lahiri",重新冻结对照文件(保留原 CRLF)。重算后的差异步(diff_steps,同一 Lahiri 盘):
盘 Sthira Drig Shoola Navamsha Niryaana Shoola Chara
乔布斯 仅日期基准 方向、年数、子运 子运、日期基准 起始、年数、子运 四步都有 年数、子运
奥巴马 起始、子运 方向、年数、子运 子运、日期基准 起始、年数、子运 四步都有 年数、子运
爱因斯坦 仅日期基准 方向、年数、子运 子运、日期基准 起始、年数、子运 四步都有 年数、子运
虚构盘 无差异 方向、年数、子运 起始、子运 起始、年数、子运 四步都有 仅子运

解读:Sthira 与 Shoola 的起始星座在同岁差下大多与 PyJHora 一致;Drig、Navamsha、Niryaana Shoola 的差异是方法本身不同(本站按 Rath 印页 395 / Goel 方法 1 / Goel 简法,PyJHora 另有口径),与上文「书内分叉」一节一致;Chara 年数差保留,jaimini.py 未改。Lagna Kendradi 不上报告,差异不计。

  • Linux 验证(Claude,屏蔽 PyJHora 导出报告):英文 0 汉字;Python 全量 62 条失败与基线逐名相同;快速门通过;npm test 4993 / 失败 24 与基线相同;tsc 0。