Files
Jyotisha/docs/research/rectification_nadi_seconds_2026_10_05.md
T
Jesse_ChenandClaude Opus 5.5 e3f3a1fcde
Independent Staging Quality Gate / validate (push) Successful in 26m35s
Independent Staging Quality Gate / publish (push) Successful in 4m3s
docs(research): accept nadi second-level falsification study (BUG-1240)
Normalize results JSON to LF (content identical to the Windows run),
add close-ayanamsa N4 supplement, record acceptance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-05 23:26:20 +08:00

12 KiB
Raw Blame History

生时校正「纳迪秒级」证伪(2026-10-05,BUG-1240)

任务书 docs/tasks/TASK-rectification-nadi-seconds-research-20261005.md。离线研究,生产代码没有改。 数据:references/real_case_calibration/minute_rectification_holdout_v5.json(77 例公开 Rodden AA,244 件日精度事件)。默认岁差 Raman、交点 mean。 规则在跑数之前单独提交:57480db324f1602cfc422ff8c774d0d6e2113af6。文件 docs/research/nadi_seconds_preregistration_2026_10_05.json。 结果:docs/research/nadi_seconds_results_2026_10_05.json。Swiss Ephemeris 2.10.03。PYTHONHASHSEED=0。看过结果之后没有改规则、阈值或种子。

1. 结论

项 过门 关键数字 对照
N1 拟合率 否 6 项里 1 项达到门槛:第 4 层对「日期平移」高 0.090,p = 0.0116。另外 5 项没有 日期平移,以及把日期换到别的例子上
N2 留出一件 否 33 例。留出事件比随机秒高 0.041,95% 区间 −0.021 到 0.101 随机秒。安慰剂日期的区间也跨过 0
N3 找回记录分钟 否 ±10:纳迪 5/77,同一次回放的生产头名 25/77,提升 −0.260,区间整个在 0 下面 真值仍在交付区间内 76/77
N4 噪声地板 触发文案禁令 只换岁差,第 5 层有 86%–92% 的日事件换主星,等分 D150 有 73/73 例换段 时间和地点写入下表,不单独当方法门
N5 D150 结构 否 4 项都不达到门槛。按描述文字比对经历:blocked,仓库里没有可合法使用的原文 同 N1 的两种安慰剂

不立实现单。第 4 层、第 5 层和 D150 不接进校正计分。BUG-1240 记为 closed_by_design。

对外不能说秒级。N1–N3 没有过门,而且 N4 已经越过预先登记的 20% 线:换一种岁差算法,秒级记号就大面积变掉。

2. N0 底座

五层小运走生产递归(大运时间轴后再切四次),前三层与主链逐事件对账。77 例、964 件事件,不一致 0。等分 D150 用 calc_custom_varga(N=150)。古典「动宫顺排、固宫逆排、变宫从中段起排」标成 variant_unverified,不参与过门。

记录分钟:52 例是 5 的倍数,25 例不是。日精度事件 244 件;不少于 3 件的 43 例,不少于 4 件的 33 例,不少于 5 件的 19 例,0 件的 4 例。记录里没有秒。真值分钟的拟合率是该分钟 0–59 秒的平均。非 5 倍数那一组仍然只知道分钟,不知道秒。

3. N1

样本是预先登记的 43 例,两种安慰剂都在。拟合率是「这一秒解释了多少件日精度事件」除以事件数。差是真值分钟的平均减去安慰剂日期在同样 60 秒上的平均。整例符号翻转 9999 次。过门要均值大于 0,并且精确 p < 0.05。六项都要达到。

规则 对照 真值分钟 安慰剂 差 窗口平均 p 过门
第 4 层属于目标宫主 日期平移 0.259 0.169 +0.090 0.214 0.0116 达到
第 4 层属于目标宫主 跨例换日期 0.259 0.221 +0.038 0.214 0.1476 否
第 5 层属于目标宫主 日期平移 0.221 0.216 +0.005 0.229 0.3794 否
第 5 层属于目标宫主 跨例换日期 0.221 0.225 −0.003 0.229 0.5526 否
五层里至少两层命中 日期平移 0.329 0.339 −0.009 0.325 0.6338 否
五层里至少两层命中 跨例换日期 0.329 0.318 +0.012 0.325 0.3485 否

第 5 层在真值分钟上的拟合率(0.221)低于 ±10 分钟粗网格的平均(0.229)。记录中的那一分钟,并不比窗口里随便一秒更常被第 5 层解释。

粗网格上能解释全部日精度事件的秒所占比例:第 4 层 0.0017,第 5 层 0.0047,至少一层 0.145,至少两层 0.011。严格规则并不是「几乎每一秒都能解释全部前事」。失败的原因是真值分钟并不比安慰剂更高。

43 例里,分钟为 5 的倍数的有 31 例,其余 12 例。这是描述,没有单独做检验,也不能拿来过门。第 5 层真值分钟拟合率:5 的倍数 0.240,其余 0.171。其余那 12 例的真值分钟(0.171)低于它自己的窗口平均(0.199)。

探索项 B3 / B4 / B5 不参与过门,数字在结果 JSON 的每例记录里。

4. N2

33 例、每例至少 4 件日精度事件。留一件,用其余事件在粗网格上取最高分,并列全留。再看被留出的那一件在这些秒上被第 5 层解释的比例,减去同样多的随机秒。

相对随机秒:平均高 0.041,95% 区间 −0.021 到 0.101。相对安慰剂日期:平均高 0.026,区间 −0.037 到 0.087。过门只看随机秒,区间下界要大于 0。没有达到。

5 的倍数 24 例,差的平均 0.047;其余 9 例,差的平均 0.024。两组都没有单独过门。

5. N3

命中的定义预先写死:并列第一的每一个偏移都要落在限制里。空并列算未命中。没有日精度事件的 4 例算未命中。

单独用第 5 层排序(不参与过门)

±10 分钟、每 5 秒一格。全部并列都落在记录时间 60 秒内:0/77。落在 120 秒内:2/77(0.026),其中 5 的倍数那组 0.038,另一组 0。同一网格上均匀抽一格,60 秒内的期望是 0.104,120 秒内是 0.203。已发表的引擎先验头名是 0.18。并列数的中位是 8;有 23 例超过 25 个并列,这已经塞不进 60 秒那一段。

六题之后的交付区间里再排序(过门)

沿用六题回放的前半段:六道选择题,不注入后面的引导窗口。区间内按 1 秒用第 5 层重排。回放 77 例没有报错。

半径 真值在区间内 生产:全部并列都在 1 分钟内 纳迪:全部并列都在 60 秒内 提升 95% 区间 宽度中位
±10(过门) 76/77 25/77(0.325) 5/77(0.065) −0.260 −0.377 到 −0.143 13 分钟
±30(只报告) 76/77 24/77(0.312) 0/77 −0.312 −0.416 到 −0.208 33 分钟
±60(只报告) 76/77 13/77(0.169) 0/77 −0.169 −0.260 到 −0.091 69 分钟

±10 上,5 的倍数那组:生产 0.288,纳迪 0.058。另一组:生产 0.400,纳迪 0.080。两组都是纳迪更低。

已发表的 ±10 成绩单是:引擎先验头名 0.18,六题回放头名 0.64,簇头名 0.68,真值在区间内 76/77,宽度中位 15 分钟(docs/research/holdout_v5_build_2026_09_29.md)。本轮真值覆盖同为 76/77。头名没有复现成 0.64。本轮的生产对照要求每一个并列分钟都在 1 分钟内;线上网格每 2 分钟一格,这等于「唯一头名就是记录的那一分钟」,得到 25/77。已发表的 0.64 是簇代表分钟的头名。宽度中位是 13 分钟,已发表是 15。按预登记,不把 25/77 改写成 0.64。过门比较的是同一次回放里的纳迪和生产,纳迪更低。

6. N4 噪声地板

73 例至少有一件日精度事件。第 4、第 5 层按事件加权。等分 D150 按例子计。没有日事件的 4 例不在这张表里。

扰动 第 4 层事件变化 第 5 层事件变化 等分 D150 换段的例子
Raman → Lahiri 0.873 0.857 73/73
Raman → KP 0.848 0.922 73/73
Raman → True Chitra 0.926 0.885 73/73
出生时间 −15 秒 / +15 秒 0.107 / 0.115 0.607 / 0.598 12/73 / 29/73
出生时间 −30 秒 / +30 秒 0.213 / 0.213 0.820 / 0.828 43/73 / 48/73
出生时间 −60 秒 / +60 秒 0.418 / 0.393 0.918 / 0.902 70/73 / 72/73
出生地向东 / 向西 10 公里 0 / 0 0 / 0 46/73 / 43/73

交点从 mean 改成 true:73 例的月亮和上升都没变,罗睺都变了,第 5 层事件变化率是 0。小运只看月亮,这与预期一致。

文案禁令看三次换岁差。三次的第 5 层事件变化率都大于 0.20,等分 D150 的例子变化率都是 1。禁令成立。±15 秒已经让大约六成日事件换掉第 5 层主星。东西方向移 10 公里不动第 5 层,但大约六成例子的等分 D150 会换段。

7. N5

等分 D150 的上升星座宫主。样本仍是 43 例,对照仍是两种安慰剂。

规则 对照 真值分钟 安慰剂 差 p 过门
宫主属于目标宫主 日期平移 0.272 0.272 0 1 否
宫主属于目标宫主 跨例换日期 0.272 0.272 0 1 否
宫主出现在五层小运里 日期平移 0.476 0.451 +0.025 0.2224 否
宫主出现在五层小运里 跨例换日期 0.476 0.490 −0.014 0.6411 否

第一条规则只用出生那一秒的盘,不用事件日期,所以两种改日期的安慰剂和真值相同。这是这条规则的结果,不是跑数之后改出来的。按描述文字比对经历保持 blocked。

8. 对外口径草稿

校正给你一个时间范围。你答完现在这几道题,范围里往往还剩大约一刻钟;你记得的那一分钟大多还在这个范围里,这些分钟分不出先后。我们拿时间记录到分钟的公开例子核对过:用更细的小运去挑秒,并不比把事情的日期挪开更准,也没有把范围收到你记录中的那一分钟。出生时间差半分钟,或者换一种岁差算法,这种细记号就会变。所以校正只说到现在的方法能分开的范围,不把结果说成秒级。

草稿对照 frontend/docs/VOICE.md:直接对「你」说,不点名其他产品,不写秒级准确率。没有改 VOICE 文件本身。

9. 复现

export PYTHONHASHSEED=0
python scripts/research/nadi_seconds_run.py

预登记、库、跑数脚本、数据集的 sha256 写在结果 JSON 开头和结尾。本轮分别是 dc012dd2b287b28ac2eefb75d5b9050e7788cb09d0064639878a37753ee8c2d3、ba170f3a0476fc41b3be8ac9f035d2f82575006753eb14992ccf124132be0f94、3c1af919408c637eead6e43252f6696beec73cb66480d8138a9075d3a8fb8ed6、ab365a3e3f4953d4b538f2c0889dc98ab89444a28340c3a7b29e2a864cdd687a。同一命令再跑一次,两份结果的 SHA-256 都是 4f1569c3e8794e0d2c35d244d32b3896e47cf8a1f7d03d16ce01d3f07b51ec69,逐字节一致。

10. 验收补充(Claude 2026-10-05,事后,不参与过门)

复跑:在 Linux 上用 Python 3.13 跑同一条命令,耗时约 10 分钟。

  • 结果与执行方提交的 JSON 逐字段比对,差异为 0。
  • 执行方的文件是在 Windows 上写出的,换行符是 CRLF,所以原来记的 SHA-256 4f1569c3… 只在 Windows 上成立。
  • 已把入库文件换成 LF 版本。两份文件去掉 CR 之后,SHA-256 都是 d64006f3430f5d62c084c51ba3245ac8fe9b90ef45f2b2f09ff3eda40c23789b。
  • 预登记、库、跑数脚本、数据集四个输入的哈希,与上文 §9 记录的一致。

N4 补充:预登记里的岁差对比都以 Raman 为起点,而 Raman 和其他三种相差约 1.4°。下面补测三种彼此很接近的岁差。脚本与 N4 相同,记录时间相同,样本是至少有一件日精度事件的 73 例。

换岁差 月亮相差(角分,中位) 第 4 层事件变化 第 5 层事件变化 等分 D150 换段
Lahiri → KP 5.81 0.893 0.885 29/73
Lahiri → True Chitra 0.83 0.570 0.939 4/73
KP → True Chitra 4.98 0.910 0.848 25/73

月亮只差不到 1 角分(Lahiri 与 True Chitra),第 5 层主星就有 94% 的日事件跟着换。可见即使是同一派系里的两种岁差算法,Prana 层的结论也对不上。§1 的文案禁令不依赖 Raman 这个特例,结论不变。