Files
Jyotisha/docs/tasks/PROGRESS-rectification-varga-resolution-research-20260930.md
T
Jesse_ChenandClaude Fable 5.1 c2c5140d47
Independent Staging Quality Gate / validate (push) Successful in 11m52s
Independent Staging Quality Gate / publish (push) Successful in 3m35s
docs(tasks): Claude acceptance for the varga-resolution research (BUG-1105 resolved, research stage)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-30 09:35:31 +08:00

64 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 生时校正「盘型口径」研究(2026-09-30)
任务书:`TASK-rectification-varga-resolution-research-20260930.md`(BUG-1105)。执行:Claude fork 子代理。分支 `codex/rectification-varga-resolution-research-20260930`,基线 `origin/staging` @ `c3162cdc`。只 commit 不 push。
## 一句话
盘型口径在 v5 上成立:±10 六题后 D9 / D10 头段 = 真值 88% / 86%,占比 ≥ 0.6 留一法 92% / 90%;±30 只有约 1/4–1/3 用户能给可信分盘;±60 分盘 blocked(真值段保留低于基线)。按段选题在 ≤ ±30 有 +3~+7 例收益;提前停不过红线;「不用校正」出口只对只需 D1 的问题成立(三种策略均 0/77)。**建议立实现单**,要点在研究文档 §7。
## 结果文件
- `docs/research/rectification_varga_resolution_2026_09_30.md`(结论、表、实现要点)
- `docs/research/varga_resolution_baseline_2026_09_30.json`(M0 两张表 + 每例区间)
- `docs/research/varga_resolution_research_2026_09_30.json`(M1–M3、稳健性,含每例)
- `scripts/research/varga_resolution_lib.py`、`varga_resolution_probe.py`;`tests/test_varga_resolution_research.py`(17 条:15 合成 + 2 复现锁数)
## 硬红线逐条
| # | 要求 | 结果 |
| --- | --- | --- |
| 1 | 真值段保留 ≥ 76 / 76 / 75 | ±10、±30 所有盘 76 = 基线,过;±60 D9 / D10 / 组合 74 < 75,**不过** → ±60 分盘写 blocked。提前停(0.7 / 0.8)在 ±10 D9 保留 75 < 76,不过 → 不作为停止条件 |
| 2 | 阈值-准确率留一法 + 全集对照 | 研究文档 §3.3 / §3.4 |
| 3 | 稳健性:答错 1 / 2 题、±7 天、LMT 单列 | §6;±7 天与基线逐格相同(出题与作答未变);LMT 7 例单列 |
| 4 | 生产代码零改动、对账、复跑一致 | `git diff --name-only` 只在 `scripts/research/`、`tests/`、`docs/`、`references/`(无);六题回放走线上 `posterior_state` 同一路径(`fewer_probes_card_replay` 逐例区间 0 差,见下);`PYTHONHASHSEED=0` 两次完整运行 `cmp` 逐字节一致 |
| 5 | 快速门与基线一致、隐私守卫 | 见「门禁」 |
| 6 | 负结果完整 | 提前停、±60、「不用校正」0/77、uniform 无收益、LMT 都写了 |
## M0 复现
- 表 1(窗内几种上升)与任务书逐格一致。
- 表 2(交付区间盘型)与任务书逐格一致。复现时修了起点脚本两处口径:跨午夜端点(23:15 出生、端点 00:01–23:59)偏移按 1440 折回;并列时取区间内最早出现的段,并新增「并列」计数——±30 起「多数 = 真值」有 21–42 例是并列后取先出现的段,这一列不能当准确率读。
- 与起点脚本 `v5_intervals.json` 逐例比区间端点:231 行 0 差。
## 门禁
- 开工基线:`test_scoring_research.py` + `test_holdout_v5_schema.py` + `test_rectification_validation_integrity_gate.py` + `test_repo_privacy_markers.py` = 31 passed。
- 新增:`test_varga_resolution_research.py` 17 passed;隐私守卫 passed。
- 快速门:见文末(合并阶段补)。
## 耗时
- 上下文缓存冷启动(77 例 × 三档)约 3 分钟;完整 M0–M3 + 稳健性一次约 12 分钟(run1 11m53s,run2 11m35s)。任务书估计「六题回放约 1 小时一次」偏高:`compute_candidate_static_contexts` 有磁盘缓存后,回放本身只需秒级。
## 缺口
- 段级汇总的「质量」用的是线上簇分数(≥0)按簇内均摊;候选步长 2 分钟,段内奇数分钟按均摊补上。实现时若用逐分钟打分,数字会略有不同,需按实现重放。
- 按段选题的信息增益把「中性」候选当 ½ / ½ 的均匀硬币,与线上卡片更新(中性 delta 0)一致但不是唯一选择;只在 ≤ ±30 报收益。
- 提前停在 ±10 丢 1 例真值段:原因是答题不足时真值簇落后头名 ≥ 8 分;没有试「停后再多问一题」的变体。
- 开放集非盲测;封存盲测(`sealed_holdout_rerun.py`)不受影响。
## 与另一会话 08:49 归档(staging `bedb4d7b`)的关系
- 该归档是同一任务书的**部分**执行:M0 首轮 + M1,M2/M3 `not_started`,第二次复跑未闭环,隐私扫描只覆盖提交子集。本分支为完整执行(M0–M3 + 稳健性,两次完整运行逐字节一致),合并时以本分支的 `varga_resolution_lib.py` / `varga_resolution_probe.py` / 测试为准。
- 两边表 1 的 D9/D10 段数在 ±30/±60 略有差异(如 ±30 D10 5.30 vs 5.60):对方按「连续段」计数(同一星座不连续再出现算两段),本分支按「不同上升星座数」计数;±10/±15 两边一致。
- 对方新增的 `scripts/research/varga_resolution_m1.py` 依赖其自有 lib 的函数名,与本分支 lib 不兼容,随合并移除;`artifacts/varga-resolution/` 两个 JSON 为其中间产物,一并移除;`BLOCKED.md` 与 `pre_work_error_ledger.md` 中对方的记录保留不改。
## Claude 验收(2026-09-30)
- 子代理在最后一步(确定性复跑 + 快速门)被会话限额中断,M1–M3 结果 JSON 未落盘。我用其脚本从头跑两遍(19m50s / 约 20 min,`PYTHONHASHSEED=0`,共用缓存):`research_A == research_B`、`baseline_A == baseline_B`、`baseline_A == 已提交 varga_resolution_baseline_2026_09_30.json`,逐字节一致;`research_A` 作为 `docs/research/varga_resolution_research_2026_09_30.json` 入库。
- 测试:`test_varga_resolution_research.py`(17)+ 隐私守卫 + 完整性门禁 + 打分研究 + v5 schema = 48 passed;`py_compile` 两个研究脚本通过。
- 快速门:Python 步 1001 passed / 1 skipped(与基线一致);`npm test` 步为 worktree 无 `node_modules` 的环境缺口,本单零前端改动。
- 范围:`git diff --name-only` 只在 `scripts/research/`、`tests/`、`docs/`;冻结文件与引擎零改动。
- 合并:rebase 到 `origin/staging` 时与另一会话 08:49 归档的部分研究(`bedb4d7b`)同名文件冲突,按上一节说明以本分支为准,移除其不兼容的 `varga_resolution_m1.py` 与 `artifacts/varga-resolution/`。
- 结论:**通过**。研究结论成立,下一步写产品层实现单(按研究文档 §7 与出口表)。