From 98be2649ac4f19d862e3ae6c5a3c8c2a2be19d9f Mon Sep 17 00:00:00 2001 From: jesse-ux Date: Wed, 28 Oct 2026 20:02:43 +0800 Subject: [PATCH] research(d60): G1 stops on a production mapping mismatch (BUG-1497, BUG-1498, issue #149) The D60 ascendant of the production classical_local mapping agrees with PyJHora on 33 of 77 recorded times (42.9%). All 44 mismatches are 1-based even signs and differ by exactly one sign; the repository's own vedastro mode agrees with PyJHora on 77 of 77. So G1 fails the 95% gate, but the cause is the production mapping rule in scripts/varga.py, not a missing D60 signal. BUG-1498 records the inconsistency as investigating. G2-G5 did not run and no scoring rule was registered. jyotishganit is not installed here and VedAstro was not called, so the reconciliation is single-engine and says so. --- docs/BUG_HISTORY.md | 19 +- .../d60_two_way_results_2026_10_28.json | 833 ++++++++++++++++++ ...RESS-rectification-d60-two-way-20261028.md | 20 +- 3 files changed, 870 insertions(+), 2 deletions(-) create mode 100644 docs/research/d60_two_way_results_2026_10_28.json diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 65d0e151..31eee777 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -20457,9 +20457,26 @@ - 现象:竞品宣传「证据够密时 D60 与纳迪分盘反向校准,收束时刻可以到秒」。纳迪那一半已在 BUG-1240 证伪(N3 ±10 窗口找回记录分钟 5/77,生产 25/77;N4 只换岁差 73/73 换段);D60 这一半从未在 v5 77 例已知出生时间上检验。 - 触发条件:用 D60 换格给候选分段打分,或对外宣称「到秒」。 - 根因:未验证的技法被当成能力宣传;我方没有 D60 换格的评分实现,也没有对照实验。 -- 修复:(进行中)先做 G1 三引擎对账,再按 G2–G5 双向对比;结论出来前生产代码、技法路由、对外文案都不动。 +- 修复:(进行中)G1 已跑:生产 D60 上升与 PyJHora 只一致 33/77(42.9%),本仓 `mode='vedastro'` 的 D60 与 PyJHora 77/77。 + 失败原因是本仓生产 D60 映射本身(见 BUG-1498),不是「D60 没有信号」;G2–G5 暂缓,先把映射口径定下来再重跑 G1。结论出来前生产代码、技法路由、对外文案都不动。 - 验证:待研究单 `docs/tasks/TASK-rectification-d60-two-way-20261028.md` 的 G1–G5 全部有结论后回填;不过门就写 `closed_by_design` 并附对外口径。 - 防复发:研究单写死「先登记再跑、真值不可见、必须有安慰剂、负结果照写」。 - 关联:BUG-1240、BUG-560、BUG-1090、BUG-1091。 - 复发自:无。 - 修复版本:分支 `codex/rectification-d60-two-way-20261028`(研究单,未合入)。 + + +## BUG-1498 | 生产 D60 映射把 1-based 偶数星座整体后移一个星座 + +- 状态:investigating +- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #149,G1 三引擎对账) +- 影响面:`scripts/varga.py::varga_map` 的 D60 分支(生产默认 `classical_local` 模式)。技法路由目前写「D60 只作参考」,不进校正打分。 +- 现象:v5 的 77 例已知出生时间里,生产 D60 上升星座与 PyJHora(traditional Parasara,from sign)只一致 33 例;其余 44 例全部差 +1 个星座,且 44 例全是 1-based 偶数星座(金牛、巨蟹、处女、天蝎、摩羯、双鱼)。本仓 `mode='vedastro'` 的 D60 映射与 PyJHora 77/77 一致。 +- 触发条件:读取生产 D60(`calc_varga(lon, 60)` 默认模式)。 +- 根因:`varga_map` 的 D60 分支是 `(si+pi)%12 if o else (si+1+pi)%12`(`o` 为 1-based 奇数星座),对 1-based 偶数星座加 1;同文件 vedastro 映射是 `(si+pi)%12`。两套内部映射不一致,外部引擎与 vedastro 那套一致。哪一套符合来源尚未裁决,不预设 classical 就是错。 +- 修复:未修。研究单红线要求生产代码零改动;要先按经典来源(BPHS / Raman)确认偶数星座是否真的从下一星座起算,再决定改映射还是改文档。 +- 验证:`docs/research/d60_two_way_results_2026_10_28.json`(77 例逐条:上升经度、两套本仓 D60、PyJHora D60、是否一致)。 +- 防复发:给 D60 补一条映射测试,锁定与外部引擎一致的规则;classical 与 vedastro 两种模式要么一致,要么在注释里写明来源差异。 +- 关联:BUG-1497。 +- 复发自:无。 +- 修复版本:未修。 diff --git a/docs/research/d60_two_way_results_2026_10_28.json b/docs/research/d60_two_way_results_2026_10_28.json new file mode 100644 index 00000000..61777c2f --- /dev/null +++ b/docs/research/d60_two_way_results_2026_10_28.json @@ -0,0 +1,833 @@ +{ + "task": "docs/tasks/TASK-rectification-d60-two-way-20261028.md", + "issue": 149, + "bug": "BUG-1497", + "gate": "G1 three-engine D60 reconciliation", + "generated_at_utc": "2026-10-28T12:02:20.260551+00:00", + "dataset": { + "path": "references/real_case_calibration/minute_rectification_holdout_v5.json", + "sha256": "ab365a3e3f4953d4b538f2c0889dc98ab89444a28340c3a7b29e2a864cdd687a", + "cases": 77 + }, + "profile": { + "ayanamsa": "raman", + "node_mode": "mean", + "house_system": "production compute_chart_data", + "pyjhora_ayanamsa_mode": "Raman", + "pyjhora_chart_method": 1 + }, + "engines": { + "own_classical_local": "varga.calc_varga(lon, 60) (production default)", + "own_vedastro_mode": "varga.calc_varga(lon, 60, mode='vedastro') (VEDASTRO_RAW_VERIFIED_DIVISIONS includes 60)", + "pyjhora": "jhora.horoscope.chart.charts.divisional_chart(jd, place, divisional_chart_factor=60), Lagna entry", + "jyotishganit": "blocked: not installed in this environment", + "vedastro": "blocked: no live call made in this run" + }, + "result": { + "cases": 77, + "classical_matches": 33, + "classical_rate": 0.4286, + "vedastro_matches": 77, + "vedastro_rate": 1.0, + "mismatch_delta_histogram": { + "0": 33, + "1": 44, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0 + }, + "mismatches_by_asc_sign_parity": { + "odd_1based": { + "cases": 33, + "matches": 33 + }, + "even_1based": { + "cases": 44, + "matches": 0 + } + }, + "gate_passed": false, + "gate_threshold": ">=95% agreement with at least one external engine", + "stop_rule": "G1 failing stops G2-G5 per the brief" + }, + "finding": "The production classical D60 mapping shifts every 1-based even sign by one sign relative to PyJHora; the repository's own vedastro-mode D60 mapping agrees with PyJHora on all 77 cases. No scoring gate was run.", + "instances": [ + { + "case_id": "albert_brooks_1947_aa_v4_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 71.1909, + "d60_classical": 0, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "andrew_windsor_1960_aa_v4_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 109.6959, + "d60_classical": 7, + "d60_vedastro_mode": 6, + "d60_pyjhora_method1": 6, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "angelina_jolie_1975_aa_v4_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 96.8001, + "d60_classical": 5, + "d60_vedastro_mode": 4, + "d60_pyjhora_method1": 4, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "barack_obama_1961_aa_v4_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 296.1798, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "bernd_eichinger_1949_aa_v4_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 107.0009, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "chad_everett_1937_aa_v4_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 269.6959, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "elizabeth_montgomery_1933_aa_v4_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 162.7012, + "d60_classical": 7, + "d60_vedastro_mode": 6, + "d60_pyjhora_method1": 6, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "elizabeth_taylor_1932_aa_v4_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 231.7983, + "d60_classical": 3, + "d60_vedastro_mode": 2, + "d60_pyjhora_method1": 2, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "iwao_takamoto_1925_aa_v4_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 216.2833, + "d60_classical": 8, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "john_robbins_1947_aa_v4_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 149.6725, + "d60_classical": 3, + "d60_vedastro_mode": 3, + "d60_pyjhora_method1": 3, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "joseph_kennedy_iii_1980_aa_v4_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 59.9029, + "d60_classical": 1, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "kurt_cobain_1967_aa_v4_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 151.3987, + "d60_classical": 8, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "pablo_picasso_1881_aa_v4_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 104.8722, + "d60_classical": 9, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "paul_ryan_1970_aa_v4_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 218.6428, + "d60_classical": 1, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "salma_hayek_1966_aa_v4_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 145.4799, + "d60_classical": 6, + "d60_vedastro_mode": 6, + "d60_pyjhora_method1": 6, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "sean_lennon_1975_aa_v4_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 113.2594, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "sigmund_freud_1856_aa_v4_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 199.7737, + "d60_classical": 9, + "d60_vedastro_mode": 9, + "d60_pyjhora_method1": 9, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "steve_reich_1936_aa_v4_holdout", + "asc_sign_idx": 0, + "ascendant_longitude": 9.9031, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "tiger_woods_1975_aa_v4_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 152.3435, + "d60_classical": 10, + "d60_vedastro_mode": 9, + "d60_pyjhora_method1": 9, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "tom_kennedy_1927_aa_v4_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 135.3649, + "d60_classical": 10, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "adriana_lima_1981_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 234.5927, + "d60_classical": 9, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "agatha_christie_1890_aa_v5_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 242.6992, + "d60_classical": 1, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "albert_einstein_1879_aa_v5_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 80.9181, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "alberto_fujimori_1938_aa_v5_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 30.0607, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "arthur_conan_doyle_1859_aa_v5_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 59.3382, + "d60_classical": 0, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "audrey_hepburn_1929_aa_v5_holdout", + "asc_sign_idx": 10, + "ascendant_longitude": 307.1967, + "d60_classical": 0, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "ayrton_senna_1960_aa_v5_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 289.3969, + "d60_classical": 0, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "barbra_streisand_1942_aa_v5_holdout", + "asc_sign_idx": 11, + "ascendant_longitude": 346.7636, + "d60_classical": 9, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "beyonce_1981_aa_v5_holdout", + "asc_sign_idx": 0, + "ascendant_longitude": 6.8595, + "d60_classical": 1, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "bob_dylan_1941_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 238.7367, + "d60_classical": 5, + "d60_vedastro_mode": 4, + "d60_pyjhora_method1": 4, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "brigitte_bardot_1934_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 233.8797, + "d60_classical": 7, + "d60_vedastro_mode": 6, + "d60_pyjhora_method1": 6, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "bruce_lee_1940_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 224.6155, + "d60_classical": 1, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "catherine_deneuve_1943_aa_v5_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 259.5116, + "d60_classical": 11, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "charles_de_gaulle_1890_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 181.278, + "d60_classical": 8, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "cher_1946_aa_v5_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 76.9514, + "d60_classical": 11, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "clint_eastwood_1930_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 207.1468, + "d60_classical": 0, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "daniel_barenboim_1942_aa_v5_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 292.2015, + "d60_classical": 6, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "diane_cilento_1932_aa_v5_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 290.6112, + "d60_classical": 3, + "d60_vedastro_mode": 2, + "d60_pyjhora_method1": 2, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "dingdong_dantes_1980_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 181.5986, + "d60_classical": 9, + "d60_vedastro_mode": 9, + "d60_pyjhora_method1": 9, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "donald_trump_1946_aa_v5_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 128.3089, + "d60_classical": 8, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "edith_piaf_1915_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 212.402, + "d60_classical": 0, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "elvis_presley_1935_aa_v5_holdout", + "asc_sign_idx": 7, + "ascendant_longitude": 230.8658, + "d60_classical": 1, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "francois_hollande_1954_aa_v5_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 46.0748, + "d60_classical": 10, + "d60_vedastro_mode": 9, + "d60_pyjhora_method1": 9, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "frida_kahlo_1907_aa_v5_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 122.4798, + "d60_classical": 8, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "george_w_bush_1946_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 105.4441, + "d60_classical": 10, + "d60_vedastro_mode": 9, + "d60_pyjhora_method1": 9, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "gisele_bundchen_1980_aa_v5_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 263.6478, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "gustavo_kuerten_1976_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 92.6966, + "d60_classical": 9, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "imelda_marcos_1929_aa_v5_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 77.1545, + "d60_classical": 0, + "d60_vedastro_mode": 0, + "d60_pyjhora_method1": 0, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "janis_joplin_1943_aa_v5_holdout", + "asc_sign_idx": 10, + "ascendant_longitude": 303.9231, + "d60_classical": 5, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "jennifer_aniston_1969_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 182.6838, + "d60_classical": 11, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "jimi_hendrix_1942_aa_v5_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 243.0694, + "d60_classical": 2, + "d60_vedastro_mode": 2, + "d60_pyjhora_method1": 2, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "johnny_depp_1963_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 110.5385, + "d60_classical": 9, + "d60_vedastro_mode": 8, + "d60_pyjhora_method1": 8, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "judy_garland_1922_aa_v5_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 79.5603, + "d60_classical": 5, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "juscelino_kubitschek_1902_aa_v5_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 274.8708, + "d60_classical": 7, + "d60_vedastro_mode": 6, + "d60_pyjhora_method1": 6, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "kamala_harris_1964_aa_v5_holdout", + "asc_sign_idx": 2, + "ascendant_longitude": 62.5086, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "leonardo_dicaprio_1974_aa_v5_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 161.0553, + "d60_classical": 4, + "d60_vedastro_mode": 3, + "d60_pyjhora_method1": 3, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "lionel_messi_1987_aa_v5_holdout", + "asc_sign_idx": 9, + "ascendant_longitude": 282.7709, + "d60_classical": 11, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "lou_diamond_phillips_1962_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 116.2537, + "d60_classical": 8, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "manuel_puig_1932_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 186.6657, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "marilyn_monroe_1926_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 111.6899, + "d60_classical": 11, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "meryl_streep_1949_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 101.0442, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "miley_cyrus_1992_aa_v5_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 36.3265, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "muhammad_ali_1942_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 117.9238, + "d60_classical": 11, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "nicolas_sarkozy_1955_aa_v5_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 154.3377, + "d60_classical": 2, + "d60_vedastro_mode": 1, + "d60_pyjhora_method1": 1, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "pele_1940_aa_v5_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 137.9234, + "d60_classical": 3, + "d60_vedastro_mode": 3, + "d60_pyjhora_method1": 3, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "piolo_pascual_1977_aa_v5_holdout", + "asc_sign_idx": 4, + "ascendant_longitude": 132.9944, + "d60_classical": 5, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "prince_1958_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 204.8647, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "rafael_nadal_1986_aa_v5_holdout", + "asc_sign_idx": 6, + "ascendant_longitude": 197.6444, + "d60_classical": 5, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "rudy_fernandez_1952_aa_v5_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 178.9455, + "d60_classical": 3, + "d60_vedastro_mode": 2, + "d60_pyjhora_method1": 2, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "salvador_dali_1904_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 91.157, + "d60_classical": 6, + "d60_vedastro_mode": 5, + "d60_pyjhora_method1": 5, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "serena_williams_1981_aa_v5_holdout", + "asc_sign_idx": 0, + "ascendant_longitude": 11.0106, + "d60_classical": 10, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "silvio_santos_1930_aa_v5_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 152.8918, + "d60_classical": 11, + "d60_vedastro_mode": 10, + "d60_pyjhora_method1": 10, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "sophia_loren_1934_aa_v5_holdout", + "asc_sign_idx": 8, + "ascendant_longitude": 253.9547, + "d60_classical": 11, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "venus_williams_1980_aa_v5_holdout", + "asc_sign_idx": 5, + "ascendant_longitude": 171.3938, + "d60_classical": 0, + "d60_vedastro_mode": 11, + "d60_pyjhora_method1": 11, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "vincent_van_gogh_1853_aa_v5_holdout", + "asc_sign_idx": 3, + "ascendant_longitude": 90.7335, + "d60_classical": 5, + "d60_vedastro_mode": 4, + "d60_pyjhora_method1": 4, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "whitney_houston_1963_aa_v5_holdout", + "asc_sign_idx": 10, + "ascendant_longitude": 316.5233, + "d60_classical": 7, + "d60_vedastro_mode": 7, + "d60_pyjhora_method1": 7, + "classical_matches_pyjhora": true, + "vedastro_matches_pyjhora": true + }, + { + "case_id": "zinedine_zidane_1972_aa_v5_holdout", + "asc_sign_idx": 1, + "ascendant_longitude": 36.9097, + "d60_classical": 3, + "d60_vedastro_mode": 2, + "d60_pyjhora_method1": 2, + "classical_matches_pyjhora": false, + "vedastro_matches_pyjhora": true + } + ] +} diff --git a/docs/tasks/PROGRESS-rectification-d60-two-way-20261028.md b/docs/tasks/PROGRESS-rectification-d60-two-way-20261028.md index cc7887ff..dafa3e19 100644 --- a/docs/tasks/PROGRESS-rectification-d60-two-way-20261028.md +++ b/docs/tasks/PROGRESS-rectification-d60-two-way-20261028.md @@ -31,9 +31,27 @@ 规则定了之后才写 `docs/research/d60_two_way_preregistration_2026_10_28.json` 并单独 commit,然后才第一次在 v5 上跑(红线 1)。 +## G1 三引擎 D60 对账(已跑,门不过) + +结果 JSON:`docs/research/d60_two_way_results_2026_10_28.json`(77 例逐条:上升经度、本仓两套 D60、PyJHora D60、是否一致)。 + +| 引擎 | 与生产 D60 一致的例数 | 比例 | +| --- | ---: | ---: | +| 本仓生产 `classical_local`(默认) | 33 / 77 | 42.9% | +| 本仓 `mode='vedastro'` | 77 / 77 | 100% | +| PyJHora(traditional Parasara, from sign) | 作为对账基准 | — | +| jyotishganit | `blocked`:本机未安装 | — | +| VedAstro | `blocked`:本次没有联网调用 | — | + +- 差的 44 例全部是 **1-based 偶数星座**(金牛、巨蟹、处女、天蝎、摩羯、双鱼),差值恒为 +1 个星座;一致的 33 例全部是 1-based 奇数星座。 +- 根因在 `scripts/varga.py::varga_map` 的 D60 分支(`(si+pi)%12 if o else (si+1+pi)%12`),同文件的 vedastro 映射是 `(si+pi)%12`,与 PyJHora 一致。**这是生产映射的口径问题,不是「D60 没有信号」**,已登记 BUG-1498(investigating)。 +- 门要求「与至少一个外部引擎一致 ≥ 95%」,实际 42.9%(生产口径)→ **G1 判不过**,按任务书 G2–G5 全部停。没有跑任何计分,也没有据此改规则。 + ## 还没做 -G1–G5、模型端到端对比、MEVG、报告:全部 `not_started`。没有产生任何结果数字,也没有据此改任何规则。 +G2–G5、模型端到端对比、MEVG、报告:全部 `not_started`(G1 不过,按门停止)。 + +下一步要产品/规划定:D60 映射是修 `varga.py`(改生产、要重新冻结)还是改文档承认这是另一种口径。定了之后重跑 G1;G1 过了才写 G2–G5 的先登记 JSON。 ## 环境缺口