Files
Jyotisha/docs/research/rectification_minute_resolution_closure_2026_09_14.md
T

9.5 KiB
Raw Blame History

生时校正「候选分不开」两轮研究的结论页(2026-09-14)

这一页是索引与定论。下次有人想从"打分权重不够"或"簇合并把候选并没了"出发再查一遍之前,先读这页。 口径:ayanamsa raman、node mode mean,步长 2 分钟,样本 references/real_case_calibration/minute_rectification_holdout_v4.json(20 例公开 Rodden-AA,每例 ≥7 件带年月事件、≥4 个领域)。不得与上游 true-node 数字直接对比。

0. 起因

真机反复出现:带年月的选择题问完,仍剩 4–5 个候选并列(例如相对可能性 26% / 26% / 20%),用户只能蒙。 最初的假设有三个,两轮离线测量后两个被证伪、一个被缩小。

原始假设 结论
A. 打分尺度对分钟不敏感(窗内恒定项 ≈ 11.5 分 vs 随分钟变化项 ≈ 2.1 分,约 5:1),加权重就能拉开 证伪:五个改法三档半径无一过门
B. 交付区间宽度永远等于整个搜索窗(簇合并"从不丢簇") 证伪:那是不含淘汰的测量口径产物;线上含淘汰后是 15 / 33 / 56 分钟
C. 上游 yinduzhanxing 有我们缺的技法 证伪:校正相关增量为零;上游自己也停在"整窗零淘汰"

1. 已经定论的事实

1.1 交付区间宽度:没有想象中糟,真值也从没丢

按线上口径(unionStillValidRange = 未淘汰且落后头名不足 8 分的簇覆盖并集),答完六题后:

搜索半径 不含淘汰的并集(旧口径) 线上真实宽度中位 真值落在交付区间
±10 21 15 20/20
±30 61 33 20/20
±60 121 56 20/20

1.2 簇合并根本没运行过

cap_clusters_by_adjacent_merge 的 docstring 写着 "Keep the whole window…merge adjacent weak ones",容易让人以为弱簇被并回整窗。实测三档半径上合并次数中位都是 0:步长 2 分钟时候选最多 61 个,低于 MAX_PUBLIC_CLUSTERS = 64,函数压根不触发。真值簇独立率三档都是 20/20。

→ 「簇合并把候选并没了」是假线索,不要再从这里查。

1.3 加权重类改法:全部不过门

改法 结果
R1 分盘项除数(2·len → len / √len / 2) 只在 ±10 提升头名命中 0.35→0.45,宽窗消失
R2 去底座(每事件减窗内最小值) 命中与宽度都不动,仅引擎熵略降
R3 KP 宫头子主计分 ±10 命中 0.35 → 0.20(权重越大越差)。不是假阴性:20/20 例窗内子主确实变 5–9 次
R4 年精度事件改边际似然(max / lse) max 命中升到 0.50,但并列率 0.05 → 0.50,把峰值摊成平手
R5 动态签名层 命中下降或持平,熵上升
W1 提高簇上限 / W2 按分差拒绝合并 无收益(见 1.2,合并不触发)
W3 交付区间改分位覆盖 ±10 / ±60 能收窄且覆盖不降,但 ±30 有一例把真值挤出区间 → 按红线不放行

1.4 问答链本身是有效的

基线引擎头名簇命中只有 0.35 / 0.15 / 0.10;按真值方向回放六题后升到 0.80 / 0.55 / 0.35。 也就是说:问对题是有用的,瓶颈不在"问了没用"。

2. 还没解决的,只剩一件

区间内部的候选并列。 真机 26% / 26% / 20% 属于这一类:宽度已经收窄,但区间里前两名分数相等。 两轮实测的共同结论是:靠调打分尺度拉不开。要真正分开,只有两条路——

  1. 用户再提供带年月的新经历(这是目前唯一被证明有效的信息源);
  2. 接受并列,把它诚实地呈现成"这两分钟分不开",而不是给一个看似有推荐的代表分钟。

第 2 条已经在产品侧落地(风格参考题前置、并列时说明"按现有信息分不开")。

3. 产品决策存档

  • 2026-09-14:KP 宫头子主参与评分(产品负责人拍板,推翻 BUG-325 防复发条里的"不得把 KP 观察计分")。方向仍然有效,但 R3 实测表明默认权重不能直接上线,需要单独标定后再谈实现单。

  • 2026-09-14:风格题(D9/D10)在出交付卡之前必问(放宽版 A),仍然不淘汰候选、只做 ±1 排序微调;并删除了风格题的事件锚点闸,保留"候选在该分盘上上升星座 ≥2 种"的区分力门。

  • 2026-09-14:领域门槛暂不收紧。 上游 R3 要求淘汰与定案需 ≥3 个领域,本仓是 MIN_ACCEPTANCE_DOMAINS=2(scripts/rectification/decision_policy.py:35)。产品决定先不动,等 BUG-689(交付卡上邀请补经历)上线、有真机数据后再评估——那之后用户更容易补到第三个领域,收紧的代价更小。现在收紧会与「永远给结果」的口径冲突。

4. 明确不采用

上游 scripts/ashtakavarga.py 的 PL9_BAV_CELL_OVERRIDES——为对齐某份 PDF 硬编码覆写特定行星/星座的 bindu 值。那是对答案,不是算法修正。

5. 索引

文档 内容
docs/research/upstream_rectification_gap_2026_09_14.md 与上游 yinduzhanxing 的逐项能力对照、许可证边界
docs/research/minute_resolution_2026_09_14.md 第一轮:R1–R5 打分尺度测量(文末有勘误,务必读)
docs/research/cluster_width_2026_09_14.md 第二轮:宽度口径校正、簇结构画像、W1–W3
docs/research/holdout_v4_build_2026_09_14.md v4 封存基准的构建与标注协议
docs/research/precision_gate_2026_09_14.md 出题闸门分档与 M1b 分盘配权。勘误:M1b 的 V1/V2 标为未测(与 V0 数字完全相同,且 V0 采集未打分盘标签);V3 结论保留
scripts/research/minute_resolution_sweep.py / cluster_width_probe.py 两轮的测量脚本(离线,未接生产)
tests/test_minute_resolution_research.py / test_cluster_width_research.py 两轮脚本的回归测试

6. 给下一个人的三条提醒

  1. 先确认指标口径再下结论。 第一轮的头条结论就是被"不含淘汰"的宽度口径带偏的;第二轮 M0 才把它纠回来。
  2. 不要从 docstring 推断行为。 簇合并那条假线索就是这么来的——实测它从未触发。
  3. 真值覆盖率优先于区间宽度。 把区间做窄很容易,把真实分钟挤出去是更严重的错误(AGENTS.md Part B B4)。W3 就是卡在这一条。

7. 勘误与补充(2026-09-26 离线研究)

  • §5 索引里「M1b 的 V1/V2 标为未测」已过时:2026-09-26 重跑后,V1/V2 已实测、无收益。它们在 ±30 / ±60 上按定义等于等权,在 ±10 上只微调分数、不改六题后指标。
  • 任务书和 BUG-689 邀请语依据里的「1 分钟 ≈ 1.1 天大运边界位移」有误,实测中位 3.8 天(1.3–5.9)。45 天闸门对应 8–34 分钟,不是 40 分钟。
  • 新增答错容错:答错 1 题,真值在区间 98–100%;答错 2 题,±30 / ±60 上 7–10% 的回放会挤出真值(两道反答 = 8 分 = 淘汰线)。
  • 全文见 docs/research/rectification_offline_research_2026_09_26.md。

8. v5 已建,后续判定以 v5 为准(2026-09-29)

  • 本页所有「过门 / 不过门」都在 20 例上判,1 例 = 5 个百分点,判定在噪声线上(任务书 TASK-rectification-holdout-expansion-20260929.md)。
  • 开放评价集已扩到 v5:77 例(v4 的 20 例原样继承 + 57 例新增公开 Rodden-AA),每例 ≥7 件带引文的事件、≥4 领域;协议见 holdout_v5_protocol_2026_09_29.md,构建说明与基线成绩单见 holdout_v5_build_2026_09_29.md。
  • v5 中 v4 子集的基线数字与本页 §1 逐格一致(复现表在构建说明里)。此后任何打分方案的判定必须在 v5 上做;TASK-rectification-scoring-research-20260929.md 的 R-A / R-B / R-C 以 v5 为准。

9. 后续(2026-09-29 打分方法研究单,脚手架阶段)

  • §1.3「加权重类改法全部不过门」说的是人拍权重。2026-09-29 研究单换了路线:每条规则的权重由数据估(似然比,leave-one-case-out),允许负权重(只奖不罚是结构性问题),KP / Pranapada / D60 作为特征进入由数据定权重;另测「缺席证据」与「对已说事件追问月份」。
  • 脚手架与 v4 流水线见 docs/research/rectification_scoring_research_2026_09_29.md;判定必须在 v5(≥60 例)上做,v4 上的数字只是调试参考(BUG-1090 / BUG-1091)。本页 §1–§7 的结论不因此改变。
  • 2026-09-30 v5 判定(77 例,留一法按案例,raw 口径):全部不过门。 R-A 三个方案(只奖 / 加 KP·Pranapada·D60 / 允许负权重)在 ±10 / ±30 / ±60 × truth/opposite 六格头名全降(±10 0.68 → 0.57–0.60,±60 0.32 → 0.22–0.25);42 个特征里 36–39 个的 bootstrap 区间跨 0,其余 |log LR| ≤ 0.15,v4 与 v5 同时稳定同号的特征为 0。R-B 缺席年扣分按卡片强度把真值在区间从 76 / 76 / 75 压到 55 / 33 / 19,低强度不挤真值但头名全降。结论:线上 11 条规则连同分钟级观察,对"哪一分钟"几乎没有信息;可校准的权重不存在。 §1.3 的结论由此从"人拍权重不过门"升级为"数据驱动权重也没有东西可校准"。BUG-560 维持 blocked,BUG-1091 closed_by_design。R-C(对已说的经历追问月份)与同子集基线比也没有一致收益(rectification_scoring_research_2026_09_29.md §4)。三条路都关闭。