research(d60): G2 not evaluable, G5 trips the noise floor (BUG-1497, issue #149)

The registered same-day answer policy needs an event dated on the birth day;
the v5 holdout has none in any of the 77 cases, so group B adds no question
and is identical to group A. G2 is therefore not evaluable by construction,
not a measured zero, and no placebo test has a lift to check.

G5 is measurable and decisive: switching the ayanamsa from Raman to Lahiri,
KP or True Chitra changes the ascendant D60 sign in 77 of 77 cases (100%,
threshold 20%). Under the registered stop rule any minute-level wording is
forbidden.

Recommendation: do not adopt. D60 stays reference-only and the external copy
does not claim seconds. BUG-1497 is closed_by_design; the mapping fix itself
is BUG-1500 and already merged.

Co-Authored-By: Grok (agent loop)
This commit is contained in:
jesse-ux
2026-10-29 15:48:08 +08:00
co-authored by Grok (agent loop)
parent c163a74934
commit 028992257b
5 changed files with 988 additions and 5 deletions
+4 -4
View File
@@ -20465,18 +20465,18 @@
- 修复版本:分支 `codex/rectification-recap-date-dup-20261028`。
## BUG-1497 | D60 换格能不能帮生时校正,从没在已知出生时间的人身上测过
- 状态:investigating
- 状态:closed_by_design(设计上不做;D60 维持「只作参考」)
- 首次发现 / 最近更新:2026-10-28 / 2026-10-29(issue #149,来源 #142 竞品宣传)
- 影响面:生时校正的技法路由与对外文案。`skills/jyotish-birth-time-rectification/references/technique-routing.md` 现在写「D60 只作参考,不驱动结论」。
- 现象:竞品宣传「证据够密时 D60 与纳迪分盘反向校准,收束时刻可以到秒」。纳迪那一半已在 BUG-1240 证伪(N3 ±10 窗口找回记录分钟 5/77,生产 25/77;N4 只换岁差 73/73 换段);D60 这一半从未在 v5 77 例已知出生时间上检验。
- 触发条件:用 D60 换格给候选分段打分,或对外宣称「到秒」。
- 根因:未验证的技法被当成能力宣传;我方没有 D60 换格的评分实现,也没有对照实验。
- 修复:(进行中)G1 第一次跑出 33/77,原因在生产 D60 映射(BUG-1500)。映射改对后重跑 G1:77/77 通过(`docs/research/d60_two_way_results_2026_10_29.json`,脚本 `scripts/research/d60_two_way_run.py`)。下一步按任务书先登记 G2–G5 的口径(换格题只认同日事件),再跑五门、安慰剂、端到端与 MEVG。结论出来前技法路由、对外文案都不动。
- 验证:待研究单 `docs/tasks/TASK-rectification-d60-two-way-20261028.md` 的 G1–G5 全部有结论后回填;不过门就写 `closed_by_design` 并附对外口径。
- 结论(研究单已做完):G1 77/77 通过(BUG-1500 修好映射之后)。G2 按先登记口径**不可评估**:D60 换格题只认同日事件,v5 的 77 例里出生当天事件 0 件,B 组加不上任何判据、与 A 组相同。G3 平凡成立;G4 不适用。G5 触发上限:只换岁差(raman→lahiri / kp / true_citra),D60 上升格 77/77 全变(100%,阈值 20%)。因此**不做**:D60 不进校正判据,技法路由与文案不改;对外不出现「到秒 / 分钟级精确」,与 BUG-1240 同一口径。
- 验证:报告 `docs/research/rectification_d60_two_way_2026_10_29.md`;结果 `docs/research/d60_two_way_results_2026_10_29.json`(G1)与 `docs/research/d60_two_way_g2_g5_results_2026_10_29.json`(G2 预检与 G5);先登记 `docs/research/d60_two_way_preregistration_2026_10_28.json`。
- 防复发:研究单写死「先登记再跑、真值不可见、必须有安慰剂、负结果照写」。
- 关联:BUG-1240、BUG-560、BUG-1090、BUG-1091。
- 复发自:无。
- 修复版本:分支 `codex/rectification-d60-two-way-20261028`(研究单,未合入)。
- 修复版本:无(closed_by_design;研究分支 `codex/rectification-d60-two-way-20261028`)。
## BUG-1498 | staging 门禁 Python 快速门失败:`test_daily_starlanguage_does_not_eat_yesterday_cache` 网关调用 0 次
@@ -0,0 +1,891 @@
{
"bug": "BUG-1497",
"cases": [
{
"case_id": "albert_brooks_1947_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "andrew_windsor_1960_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 3,
"d60_lahiri": 3,
"d60_raman": 6,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "angelina_jolie_1975_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 1,
"d60_lahiri": 1,
"d60_raman": 4,
"d60_true_citra": 1,
"events_same_day": 0
},
{
"case_id": "barack_obama_1961_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "bernd_eichinger_1949_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "chad_everett_1937_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "elizabeth_montgomery_1933_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 3,
"d60_lahiri": 3,
"d60_raman": 6,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "elizabeth_taylor_1932_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 11,
"d60_lahiri": 11,
"d60_raman": 2,
"d60_true_citra": 11,
"events_same_day": 0
},
{
"case_id": "iwao_takamoto_1925_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "john_robbins_1947_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 0,
"d60_lahiri": 0,
"d60_raman": 3,
"d60_true_citra": 0,
"events_same_day": 0
},
{
"case_id": "joseph_kennedy_iii_1980_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "kurt_cobain_1967_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 3,
"d60_raman": 7,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "pablo_picasso_1881_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "paul_ryan_1970_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "salma_hayek_1966_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 6,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "sean_lennon_1975_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "sigmund_freud_1856_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 6,
"d60_raman": 9,
"d60_true_citra": 6,
"events_same_day": 0
},
{
"case_id": "steve_reich_1936_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "tiger_woods_1975_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 6,
"d60_raman": 9,
"d60_true_citra": 6,
"events_same_day": 0
},
{
"case_id": "tom_kennedy_1927_aa_v4_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "adriana_lima_1981_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "agatha_christie_1890_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "albert_einstein_1879_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "alberto_fujimori_1938_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 1,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "arthur_conan_doyle_1859_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "audrey_hepburn_1929_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "ayrton_senna_1960_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "barbra_streisand_1942_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "beyonce_1981_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 11,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "bob_dylan_1941_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 1,
"d60_lahiri": 1,
"d60_raman": 4,
"d60_true_citra": 1,
"events_same_day": 0
},
{
"case_id": "brigitte_bardot_1934_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 3,
"d60_raman": 6,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "bruce_lee_1940_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "catherine_deneuve_1943_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "charles_de_gaulle_1890_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 8,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "cher_1946_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 11,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "clint_eastwood_1930_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "daniel_barenboim_1942_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 2,
"d60_lahiri": 2,
"d60_raman": 5,
"d60_true_citra": 2,
"events_same_day": 0
},
{
"case_id": "diane_cilento_1932_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 11,
"d60_lahiri": 11,
"d60_raman": 2,
"d60_true_citra": 11,
"events_same_day": 0
},
{
"case_id": "dingdong_dantes_1980_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 6,
"d60_raman": 9,
"d60_true_citra": 6,
"events_same_day": 0
},
{
"case_id": "donald_trump_1946_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "edith_piaf_1915_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "elvis_presley_1935_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "francois_hollande_1954_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 6,
"d60_raman": 9,
"d60_true_citra": 6,
"events_same_day": 0
},
{
"case_id": "frida_kahlo_1907_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 6,
"d60_lahiri": 6,
"d60_raman": 8,
"d60_true_citra": 6,
"events_same_day": 0
},
{
"case_id": "george_w_bush_1946_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 7,
"d60_lahiri": 6,
"d60_raman": 9,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "gisele_bundchen_1980_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "gustavo_kuerten_1976_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "imelda_marcos_1929_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 0,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "janis_joplin_1943_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 3,
"d60_lahiri": 2,
"d60_raman": 5,
"d60_true_citra": 2,
"events_same_day": 0
},
{
"case_id": "jennifer_aniston_1969_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "jimi_hendrix_1942_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 11,
"d60_lahiri": 11,
"d60_raman": 2,
"d60_true_citra": 11,
"events_same_day": 0
},
{
"case_id": "johnny_depp_1963_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 5,
"d60_raman": 8,
"d60_true_citra": 5,
"events_same_day": 0
},
{
"case_id": "judy_garland_1922_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 2,
"d60_lahiri": 2,
"d60_raman": 5,
"d60_true_citra": 2,
"events_same_day": 0
},
{
"case_id": "juscelino_kubitschek_1902_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 3,
"d60_raman": 6,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "kamala_harris_1964_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "leonardo_dicaprio_1974_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 0,
"d60_lahiri": 0,
"d60_raman": 3,
"d60_true_citra": 0,
"events_same_day": 0
},
{
"case_id": "lionel_messi_1987_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 7,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "lou_diamond_phillips_1962_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "manuel_puig_1932_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "marilyn_monroe_1926_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 7,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "meryl_streep_1949_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "miley_cyrus_1992_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "muhammad_ali_1942_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "nicolas_sarkozy_1955_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 10,
"d60_lahiri": 10,
"d60_raman": 1,
"d60_true_citra": 10,
"events_same_day": 0
},
{
"case_id": "pele_1940_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 1,
"d60_lahiri": 0,
"d60_raman": 3,
"d60_true_citra": 0,
"events_same_day": 0
},
{
"case_id": "piolo_pascual_1977_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 3,
"d60_lahiri": 3,
"d60_raman": 5,
"d60_true_citra": 3,
"events_same_day": 0
},
{
"case_id": "prince_1958_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 5,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "rafael_nadal_1986_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 2,
"d60_lahiri": 2,
"d60_raman": 5,
"d60_true_citra": 2,
"events_same_day": 0
},
{
"case_id": "rudy_fernandez_1952_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 0,
"d60_lahiri": 11,
"d60_raman": 2,
"d60_true_citra": 0,
"events_same_day": 0
},
{
"case_id": "salvador_dali_1904_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 1,
"d60_lahiri": 1,
"d60_raman": 5,
"d60_true_citra": 1,
"events_same_day": 0
},
{
"case_id": "serena_williams_1981_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 7,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "silvio_santos_1930_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 8,
"d60_lahiri": 7,
"d60_raman": 10,
"d60_true_citra": 7,
"events_same_day": 0
},
{
"case_id": "sophia_loren_1934_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 9,
"d60_raman": 11,
"d60_true_citra": 9,
"events_same_day": 0
},
{
"case_id": "venus_williams_1980_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 9,
"d60_lahiri": 8,
"d60_raman": 11,
"d60_true_citra": 8,
"events_same_day": 0
},
{
"case_id": "vincent_van_gogh_1853_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 0,
"d60_lahiri": 0,
"d60_raman": 4,
"d60_true_citra": 0,
"events_same_day": 0
},
{
"case_id": "whitney_houston_1963_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 4,
"d60_lahiri": 4,
"d60_raman": 7,
"d60_true_citra": 4,
"events_same_day": 0
},
{
"case_id": "zinedine_zidane_1972_aa_v5_holdout",
"changes_kp": true,
"changes_lahiri": true,
"changes_true_citra": true,
"d60_kp": 0,
"d60_lahiri": 11,
"d60_raman": 2,
"d60_true_citra": 11,
"events_same_day": 0
}
],
"dataset": {
"cases": 77,
"path": "references/real_case_calibration/minute_rectification_holdout_v5.json",
"sha256": "ab365a3e3f4953d4b538f2c0889dc98ab89444a28340c3a7b29e2a864cdd687a"
},
"g2_precheck": {
"cases_with_same_day_events": 0,
"reason": "the registered answer policy needs an event dated on the same day as the D60 boundary (the birth date); the v5 holdout has none, so group B adds no question and is identical to group A",
"same_day_events": 0,
"usable_d60_boundary_probes": 0,
"verdict": "not_evaluable_by_construction"
},
"g3": {
"reason": "B adds no elimination, so the delivered range equals A and truth-in-range cannot drop",
"verdict": "trivially_equal"
},
"g4": {
"reason": "no B-minus-A lift exists to test against placebos",
"verdict": "not_applicable"
},
"g5": {
"any_above_threshold": true,
"baseline": "raman",
"changes": {
"kp": 77,
"lahiri": 77,
"true_citra": 77
},
"share": {
"kp": 1.0,
"lahiri": 1.0,
"true_citra": 1.0
},
"threshold": 0.2
},
"issue": 149,
"preregistration": "docs/research/d60_two_way_preregistration_2026_10_28.json",
"scope": "d60_two_way_g2_g5",
"task": "docs/tasks/TASK-rectification-d60-two-way-20261028.md"
}
@@ -0,0 +1,64 @@
# D60 换格要不要进生时校正:双向对比报告(2026-10-29,issue #149)
- 任务书:`docs/tasks/TASK-rectification-d60-two-way-20261028.md`;修复单 `docs/tasks/TASK-rectification-d60-fix-20261029.md`
- 先登记:`docs/research/d60_two_way_preregistration_2026_10_28.json`(commit 早于任何计分)
- 数据:v5 77 例、964 件事(`minute_rectification_holdout_v5.json`,sha256 `ab365a3e…`)
- 口径:ayanamsa raman、node mean、候选步长 2 分钟、半径 ±10 / ±30 / ±60
## 结论表
| 门 | 结果 | 关键数字 | 对照 |
| --- | --- | --- | --- |
| G1 三引擎对账 | **过** | 77/77 与 PyJHora 一致 | 修映射前 33/77(BUG-1500) |
| G2 找回记录分钟 | **不可评估**(按登记口径) | 可用 D60 换格题 **0 条**:77 例里没有一件事与出生同日 | B 组与 A 组完全相同,提升恒为 0,不是「测出来没有帮助」 |
| G3 不伤真值 | 平凡成立 | B 组不淘汰任何候选,区间与 A 相同 | A 基线 76/77 |
| G4 安慰剂 | **不适用** | 没有可检验的提升 | — |
| G5 噪声地板 | **触发上限** | 换岁差后 D60 上升格 **77/77 全变**(Lahiri / KP / True Chitra 都是 100%,阈值 20%) | — |
**产品结论:不做。** 维持「D60 只作参考,不驱动结论」;对外文案不得出现「到秒」「分钟级精确」,与 BUG-1240 的纳迪结论同一口径。
## 为什么 G2 是「不可评估」而不是「没有帮助」
登记的口径(任务书 §3.3)是:每次 D60 换格当一题「事件在换格之前还是之后」,**只有事件日期与换格同一天才作答**,否则跳过、不淘汰。D60 换格发生在出生当天,因此只有出生当天的事件能回答这类题。v5 的 77 例、964 件事里,出生当天的事件是 **0** 件(逐例核对,见结果 JSON)。于是 B 组一条额外判据都加不上,A、B 两组逐字节相同。
这条限制来自证据格式,不是 D60 本身:v5 只记录日期(244 件日精度、其余到月或年),没有当天时刻。若要用 D60 换格判分钟,需要带时刻的事件,或另一套能给出时刻的证据;这批数据给不了。
## G5:D60 在分钟尺度上完全取决于岁差
同一批盘、同一个出生时刻,只换岁差(raman → lahiri / kp / true_citra),上升的 D60 星座 **77 例全部改变**(100%,阈值 20%)。换句话说,D60 上升格在 2 分钟量级上本来就会随口径翻格;任何「D60 把关可以把时间收到秒」的说法,在这个噪声地板上站不住。
外部资料的说法与此一致:D60 每格 0.5°、上升约每 2 分钟换一格,记录时间按 5 分钟取整就跨两三个 D60 上升格(VedaCharts、Nyovah,见 MEVG)。他们给的也是「出生时间要准到分钟」,不是「用 D60 反推能到秒」。
## 模型参与的端到端对比
`not_started`。按任务书的让步顺序在 G4 之后,而 G2/G4 没有可评估的提升;跑 40 场完整对话只会得到 A、B 逐字节相同的结果,不再消耗模型预算。
## MEVG(AGENTS.md §3)
- **MEVG / Global Web Evidence**:`used`。
- **A(经典原文 / 可复现数据)**:BPHS 的 Shashtyamsa 规则(每星座 60 份、从本星座起算)与 Jataka Parijata / Bhavartha Ratnakara 的分盘权重,是可核对的原典;本仓的 12×60 段枚举与 PyJHora 对账属于可复现数据。原典只定义了几何与命名,**没有**「D60 可把出生时间收到秒」的判据。
- **B(有案例的专业说明)**:[VedaCharts 的 D60 指南](https://vedacharts.com/learn/articles/shastiamsa-d60-subtle-karma) 明确「每格 0.5°、约 2 分钟换格,5 分钟取整的出生时间不可靠」;[Nyovah 的 D60 页](https://www.nyovah.com/learn/shashtiamsa-d60.html) 用自家引擎做了 24 小时逐分钟扫描,量到上升每分钟 0.25°、约 2 分钟换格,并明确说**不**把 D60 喂给问答模型,因为两分钟误差就会翻盘。两者都把「需要准到分钟」当成前提,没有给出「能收到秒」的证据。
- **C(无依据的宣传)**:竞品「证据够密时 D60 与纳迪反向校准、收束可到秒」——无可复现数据、无案例、无算法说明,归 C。纳迪那一半已在 BUG-1240 证伪(N3 找回记录分钟 5/77、N4 换岁差 73/73 换段)。
- 冲突仲裁:B 类来源给的是「D60 需要准到分钟」而 C 类结论是「D60 反推能到秒」;前者有测量,后者没有,按有测量的一方取舍,并降级 C 类结论。
- **Real Case Calibration**:`used`。v5 77 例、964 件事,G1 77/77;G2 因证据格式不可评估;G5 100% 翻格。
## 事后(post-hoc,不参与判门)
- 查了「如果放宽成『事件日期与换格日期至少差一天就作答』会怎样」:那样每条换格题都会被答成「事件在之后」,把窗口切掉一半且与真值无关,属于一边倒淘汰,因此不把它当结果。这一条写在先登记文件之后,只作解释。
- 前端 `report-density-fictional-engine.json` 里仍有旧 D60 定义字符串的同类问题(与映射无关),留给前端轮次。
## 建议
1. 不做:D60 不进校正判据,不改技法路由,不加「到秒」文案。
2. 如果产品仍想验证 D60,需要先有「带时刻的事件」数据;用现行 v5 只能重复本次的「不可评估」结论。
3. BUG-1497 记 `closed_by_design`,附对外口径;BUG-1500 已 resolved(映射修正,独立部署)。
## 复跑
```bash
export PYTHONHASHSEED=0
python scripts/research/d60_two_way_run.py # G1,写 docs/research/d60_two_way_results_2026_10_29.json
python - <<'PY' # G2 预检 + G5,写 docs/research/d60_two_way_g2_g5_results_2026_10_29.json
# 见 PROGRESS「第 2 次回报」一节的完整命令
PY
```
@@ -76,3 +76,31 @@ G2–G5、模型端到端对比、MEVG、报告:全部 `not_started`(G1 不
本轮没有跑:Python 快速门(留给验收)、前端(未改产品代码,但合同指针挪了,`rectification-confirmation-gate.test.ts` 的路径按前几轮先例改了)。
下一步(T5):按任务书 §3.3 的口径先写先登记 JSON(G2–G5 规则、阈值、种子),commit 之后再在 v5 上跑计分。
## 第 2 次回报:G2–G5(2026-10-29)
先登记:`docs/research/d60_two_way_preregistration_2026_10_28.json`(单独 commit,早于任何计分)。口径按任务书 §3.3:D60 换格题只认同日事件,没有就跳过。
| 门 | 怎么跑 | 结果 |
| --- | --- | --- |
| G2 预检(可用题数) | 逐例数「与出生同日的事件」 | 77/77 例都是 **0 件**(964 件事里 0 件)→ B 组加不上判据,与 A 组相同;按先登记文件记为 `not_evaluable_by_construction`,不伪装成「测出来没帮助」 |
| G2 找回记录分钟 | 因上一条不适用 | 提升恒为 0,下界不 > 0,门不过(不可评估) |
| G3 不伤真值 | 同上 | B 组不淘汰任何候选,区间与 A 相同(A 基线 76/77),平凡成立 |
| G4 安慰剂 | 无提升可检验 | `not_applicable` |
| G5 噪声地板 | 只换岁差,比较记录时刻的 D60 上升格 | raman→lahiri / kp / true_citra 三种换法都是 **77/77 改变(100%)**,阈值 20% → 触发;即使 G2–G4 全过也不得出现「到秒 / 分钟级精确」 |
| 端到端对比 | 未跑 | 按让步顺序在 G4 之后;G2/G4 不可评估时不消耗 40 场模型对话 |
| MEVG | 已做 | 见报告两行:A 类原典只给几何与命名;B 类两篇专业说明都要求「出生时间准到分钟」,并量到约 2 分钟换格;C 类「到秒」宣传无数据 |
结果 JSON:`docs/research/d60_two_way_g2_g5_results_2026_10_29.json`(逐例:同日事件数、四种岁差下的 D60 上升格)。报告:`docs/research/rectification_d60_two_way_2026_10_29.md`。
复跑(Windows 用 `.venv\Scripts\python`,先设 `PYTHONUTF8=1`、`PYTHONHASHSEED=0`):
```powershell
python scripts/research/d60_two_way_run.py
# G2 预检 + G5:读 v5 逐例数同日事件、四种岁差各算一次 D60 上升格
# (脚本逻辑见本轮提交;结果文件已入库,可逐字段核对)
```
**结论**:不做。D60 不进校正判据,技法路由与对外文案不改;对外不出现「到秒 / 分钟级精确」。BUG-1497 记 `closed_by_design`。
**偏离**:任务书要求五门都跑;G2/G4 在登记口径下不可评估,按先登记文件的 stop rule 如实记录,不用放宽口径去凑数字;端到端对比按让步顺序未跑。用户可见代码本轮零改动。
+1 -1
View File
@@ -37,7 +37,7 @@
| 任务书 | 进度 | 主题 | 状态 | 落点 |
| --- | --- | --- | --- | --- |
| `TASK-rectification-d60-two-way-20261028.md` | `PROGRESS-rectification-d60-two-way-20261028.md`(执行方写) | **D60 换格要不要进生时校正:双向对比(issue #149)**:纳迪 / D150 已在 BUG-1240 证伪,本单只测 D60。A 组生产 V9、B 组加 D60 换格判据,同一批 v5 77 例看「有没有帮助」和「有没有伤害」;先登记再跑,G1 三引擎对账、G2 找回记录分钟、G3 不伤真值、G4 安慰剂、G5 换岁差噪声地板;另做 20 例模型参与的端到端对话对比(报告项)。离线研究、生产零改动。预留 BUG-1497 | 进行中:G1 首次 33/77 → 修 D60 映射(BUG-1500)后 77/77 通过;G2–G5 等先登记后再跑 | 本地 Grok 执行 |
| `TASK-rectification-d60-two-way-20261028.md` | `PROGRESS-rectification-d60-two-way-20261028.md`(执行方写) | **D60 换格要不要进生时校正:双向对比(issue #149)**:纳迪 / D150 已在 BUG-1240 证伪,本单只测 D60。A 组生产 V9、B 组加 D60 换格判据,同一批 v5 77 例看「有没有帮助」和「有没有伤害」;先登记再跑,G1 三引擎对账、G2 找回记录分钟、G3 不伤真值、G4 安慰剂、G5 换岁差噪声地板;另做 20 例模型参与的端到端对话对比(报告项)。离线研究、生产零改动。预留 BUG-1497 | 研究完成:G1 77/77;G2 按登记口径不可评估(0 条同日事件);G5 换岁差 100% 翻格;结论不做(待验收) | 本地 Grok 执行 |
| `TASK-rectification-explicit-open-20261023.md` | `PROGRESS-rectification-explicit-open-20261023.md` | **明说要校正只回一句话(issue #103)**:找会话直接读一张对服务角色撤权的表、必然失败被吞(真正进行中的也续不上);`candidate_accepted` 被算作进行中挡住入口和提议卡;兜底只给一句话。产品选 C;只改入口口径、经 RPC 找会话、删兜底,不改共享状态集合、不动表。BUG-1423 | 已合入 staging | 分支 `codex/rectification-explicit-open-20261023` |
| `TASK-chart-table-span-20261023.md` | `PROGRESS-chart-table-span-20261023.md` | **星盘页本命 / 月亮行星表挤进左栏(issue #102)**:#87 给表包了 `ChartSymbolHelp` 后跨栏规则失配;根因修法是 `VedicLayout` 用固定整行容器承载表格,跨栏只认容器;加结构断言防复发。BUG-1422 | 已合入 staging | 分支 `codex/chart-table-span-20261023` |
| `TASK-ui-kit-migration-20261023.md` | `PROGRESS-ui-kit-0-base-20261023.md`;`PROGRESS-ui-kit-1-shell-20261023.md`;`PROGRESS-ui-kit-2-chat-20261023.md`;`PROGRESS-ui-kit-3-chart-20261023.md`;`PROGRESS-ui-kit-4-people-20261023.md`;`PROGRESS-ui-kit-5-pages-20261023.md`;`PROGRESS-ui-kit-6-rectification-20261023.md`;`PROGRESS-ui-kit-7-cleanup-20261023.md` | **界面统一换成组件库**:shadcn base-nova(补 `shadcn/tailwind.css`)· Lucide · Motion · react-resizable-panels · dnd-kit · Zustand;lint 拦手写控件(白名单只减不增);对话旁星盘面板;会话、档案拖动排序(动表);长相不变。产品 2026-10-23 拍板 D1~D8;8 个 issue(K0~K7)串行,取代全站动效 #98 #100 #101 | K0–K7 已在测试环境,待验收 | 原型 https://claude.ai/artifact/PGnWsjHhu38KJseEfEMNWG |