research(rectification): varga-resolution M1–M3 and robustness on v5 — segment posterior, segment-aware probe order, domain-targeted vargas (BUG-1105)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-30 09:34:36 +08:00
co-authored by Claude Fable 5.1
parent f798366f89
commit 52bfbb2ac5
7 changed files with 110462 additions and 296 deletions
@@ -1,124 +1,54 @@
# PROGRESS · 生时校正分盘上升段研究(BUG-1105)
# PROGRESS · 生时校正「盘型口径」研究(2026-09-30)
更新时间: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。
## 本次 staging 归档范围(用户要求推送后)
## 一句话
用户在收到未验收、快速门失败及隐私补扫缺口说明后要求 push 到 staging。本次仅归档可通过隐私扫描的阶段性研究代码、测试、M1 机器结果和文档;**不是研究验收通过,不批准生产实现,不关闭 BUG-1105**。下文“未提交/未推送”均是此前收尾时的历史状态;本次远端是否写入以 push 与远端 SHA 核对为准。
盘型口径在 v5 上成立:±10 六题后 D9 / D10 头段 = 真值 88% / 86%,占比 ≥ 0.6 留一法 92% / 90%;±30 只有约 1/4–1/3 用户能给可信分盘;±60 分盘 blocked(真值段保留低于基线)。按段选题在 ≤ ±30 有 +3~+7 例收益;提前停不过红线;「不用校正」出口只对只需 D1 的问题成立(三种策略均 0/77)。**建议立实现单**,要点在研究文档 §7。
- 提交范围:3 个研究脚本、研究测试、`artifacts/varga-resolution/varga_resolution_m1.json`、现有测试必需的 `artifacts/varga-resolution/m0-smoke.json`,以及本轮报告、进度、索引、BUG 历史、BLOCKED 和错误台账。M0 smoke 与 M1 JSON 均经显式隐私扫描,0 findings;smoke 不代替 M0 全量证据。
- **明确不提交** M0 全量原始 JSON、所有原始运行日志/其余烟测产物,以及 5 个 oracle 换行副作用文件。它们在原研究工作树保留,不删除、不改编码规避扫描、不改隐私例外;文中这些路径指本地证据,不代表远端已包含。
- M0 原始 JSON 的 SHA-256:`c19faccb95076855420b9e5fbbbff9de13b4e611e2fe4f699af39474bd82506c`;M1 JSON 的 SHA-256:`a0f481e85e926fa3ca400c6cae06b608407540418f73fd6b0960067627b2ed24`。哈希仅用于身份追溯,不证明二次复跑。
- 推送前 fetch 成功,远端从研究基线 `82db6373d` 前进到 `5208f19b7`(4 个提交);新增远端提交未改 `scripts/`、`tests/`、公开评价集及本任务书。先整合远端,禁止强推覆盖。
- 推送前 `pre_work_check.py` 再次 exit 1:remote verified;focused 除历史镜像路径断言外,还出现 `candidate_count=6 < workspace_residue_count=29` 的数量断言。保持失败,不造目录、不清其他会话文件;本地日志 `artifacts/varga-resolution/push-pre-work.log`。
- 全量 quick 仍采用本页所列实际失败结果;已知失败和 M0/M1 验收欠项不因允许归档而转绿。隐私要求只对明确选择的提交子集重新验收,未提交产物仍保留未通过状态。
- 将上述 13 个精确路径加入 index 后,研究与隐私测试合跑 **140 passed,exit 0(6.73s)**。此次 tracked 隐私门已覆盖拟提交的新脚本、测试和两个 JSON,不再仅依赖未跟踪文件的补扫。两个机器 JSON 保留原始 CRLF 字节及哈希;默认 whitespace check 报 CRLF,采用单次命令 `core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol` 检查通过,不改仓库配置,不改机器证据。
## 结果文件
## 当前结论(M0/M1 产物已落盘,整单未验收)
- `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 复现锁数)
本轮已完成 **M0 首轮运行与 M1 全量分析**,未修改生产代码、未提交、未 push。M0 起点表逐格一致性及第二次字节复跑未闭环;M1 专项测试与记录补验见下文。M2/M3 为 `not_started`,M4 仅有阶段性报告,不能写成整单结论。±60 D9/D10 真值段保留各 74/77,低于任务书区间基线 75/77,明确不过硬红线 1,不建议接入生产。
## 硬红线逐条
## M0 · 首轮运行完成,验收未闭环
| # | 要求 | 结果 |
| --- | --- | --- |
| 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 都写了 |
- 评价集:`references/real_case_calibration/minute_rectification_holdout_v5.json`,77 例。
- 参数:`ayanamsa=raman`、`node_mode=mean`。
- 评分候选网格:固定 **2 分钟**;每档评分候选数为 ±10=11、±15=16、±30=31、±60=61。
- 分盘段扫描网格:独立固定 **1 分钟**;每档扫描点数为 ±10=21、±15=31、±30=61、±60=121。
- 探针口径:既有 `event_probes.discriminating_event_probes`,固定 `refresh=False`;首轮空探针如实记录,不切换 `refresh=True` 制造题目。
- 连续段:按 D1/D9/D10 上升星座在 1 分钟扫描序列中的最大连续运行编号;非连续再次出现的同一星座不合并;`23:59 -> 00:00` 视为连续,缺样本不跨接。
- 线上结果口径:机器结果同时保存评分网格候选、`still_valid_public` 展开的真实保留候选集合和 `unionStillValidRange` 等价的首尾区间包络;包络不等于真实集合。
- 完整逐案对账:四个半径均为 77/77 例,`changed_case_count=0`,错误数 0。单例零差只作 smoke;本结论使用了 77 例×每档半径完整对账。
## M0 复现
### M0 实际汇总(分母均为 77)
- 表 1(窗内几种上升)与任务书逐格一致。
- 表 2(交付区间盘型)与任务书逐格一致。复现时修了起点脚本两处口径:跨午夜端点(23:15 出生、端点 00:01–23:59)偏移按 1440 折回;并列时取区间内最早出现的段,并新增「并列」计数——±30 起「多数 = 真值」有 21–42 例是并列后取先出现的段,这一列不能当准确率读。
- 与起点脚本 `v5_intervals.json` 逐例比区间端点:231 行 0 差。
| 半径 | D1 窗内单一上升星 | D9 平均段数 | D10 平均段数 | D1×D9×D10 平均组合 | 真值段仍在真实保留集合 |
|---|---:|---:|---:|---:|---:|
| ±10 | 64/77 | 2.43 | 2.51 | 3.84 | D1 76/77;D9 76/77;D10 76/77 |
| ±15 | 51/77 | 3.22 | 3.26 | 5.27 | D1 75/77;D9 75/77;D10 76/77 |
| ±30 | 37/77 | 5.34 | 5.60 | 9.62 | D1 76/77;D9 76/77;D10 76/77 |
| ±60 | 10/77 | 9.64 | 10.29 | 18.36 | D1 76/77;D9 74/77;D10 74/77 |
## 门禁
注意:以上是真实保留集合上的段保留统计,不是只对区间包络统计;区间包络中的并列、空 coverage 另列于机器 JSON。
- 开工基线:`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。
- 快速门:见文末(合并阶段补)。
## 机器结果与脚本
## 耗时
- `scripts/research/varga_resolution_lib.py`
- `scripts/research/varga_resolution_probe.py`
- `docs/research/varga_resolution_baseline_2026_09_30.json`
- `artifacts/varga-resolution/m0-full.log`
- `tests/test_varga_resolution_research.py`
- 上下文缓存冷启动(77 例 × 三档)约 3 分钟;完整 M0–M3 + 稳健性一次约 12 分钟(run1 11m53s,run2 11m35s)。任务书估计「六题回放约 1 小时一次」偏高:`compute_candidate_static_contexts` 有磁盘缓存后,回放本身只需秒级。
机器 JSON metadata 明确记录:评分 2 分钟、扫描 1 分钟、`refresh_probes=false`、真实集合/区间包络区别、77 例逐档对账分母和跨午夜段定义;不含生成时间或耗时字段,便于逐字节复跑。
## 缺口
## M1 · 已完成(研究侧)
- 段级汇总的「质量」用的是线上簇分数(≥0)按簇内均摊;候选步长 2 分钟,段内奇数分钟按均摊补上。实现时若用逐分钟打分,数字会略有不同,需按实现重放。
- 按段选题的信息增益把「中性」候选当 ½ / ½ 的均匀硬币,与线上卡片更新(中性 delta 0)一致但不是唯一选择;只在 ≤ ±30 报收益。
- 提前停在 ±10 丢 1 例真值段:原因是答题不足时真值簇落后头名 ≥ 8 分;没有试「停后再多问一题」的变体。
- 开放集非盲测;封存盲测(`sealed_holdout_rerun.py`)不受影响。
- 新增 `scripts/research/varga_resolution_m1.py`,沿用 M0 的 2 分钟评分 / 1 分钟扫描 / `refresh_probes=false` 链路,不改生产代码。
- 全量完成 `77 × 4 = 308` 个 case-radius,`errors=0`;结果见 `artifacts/varga-resolution/varga_resolution_m1.json`,日志见 `m1-full-v2.log`。
- 每盘分别计算 `raw`、`percent`、`uniform` 段质量;输出固定阈值 `0.5/0.6/0.7/0.8/0.9`、全样本拟合对照、逐案例留一法阈值选择与验证结果。
- 留一法严格排除验证案例;输出 `eligible / coverage / accuracy / truth_retained`,并单列空 coverage、并列、真值排除和 `1900` 年前 LMT 分层。
- 关键结果(raw,全量正确率 / 真值段保留;LOO 选阈值后的 eligible、accuracy、retained):
## 与另一会话 08:49 归档(staging `bedb4d7b`)的关系
| 半径 | 盘 | 全量 top 段正确 | 全量真值段保留 | 全量 ≤2 段 | LOO eligible / accuracy / retained |
|---|---|---:|---:|---:|---:|
| ±10 | D1 | 76/77 | 76/77 | 77/77 | 77 / 0.987 / 0.987 |
| ±10 | D9 | 71/77 | 76/77 | 68/77 | 23 / 0.913 / 0.957 |
| ±10 | D10 | 69/77 | 76/77 | 63/77 | 29 / 0.931 / 0.966 |
| ±15 | D1 | 74/77 | 75/77 | 77/77 | 77 / 0.961 / 0.974 |
| ±15 | D9 | 61/77 | 75/77 | 50/77 | 14 / 0.929 / 0.929 |
| ±15 | D10 | 59/77 | 76/77 | 52/77 | 8 / 0.875 / 0.875 |
| ±30 | D1 | 75/77 | 76/77 | 77/77 | 75 / 0.973 / 0.987 |
| ±30 | D9 | 50/77 | 76/77 | 25/77 | 11 / 1.000 / 1.000 |
| ±30 | D10 | 52/77 | 76/77 | 25/77 | 16 / 1.000 / 1.000 |
| ±60 | D1 | 68/77 | 76/77 | 76/77 | 54 / 0.944 / 0.981 |
| ±60 | D9 | 41/77 | 74/77 | 11/77 | 17 / 0.588 / 0.941 |
| ±60 | D10 | 34/77 | 74/77 | 10/77 | 9 / 0.778 / 1.000 |
LOO 的高准确率部分来自只交付少量 eligible 案例,不能当全集准确率;±30 以上分盘的覆盖和并列退化明显。三种模式完整逐案例结果在机器 JSON,uniform 的并列数显著更高;LMT 单列,不能剔除。
- M0 第二次全量字节复跑未完成:`m0-full-rerun.log` 仅约 103 行,目标 rerun JSON 不存在,不能宣称逐字节一致;首轮 M0 全量仍是唯一完整复现证据。
## M2 · not_started
尚未执行段级信息增益排序、六题与早停分开结果、候选保留集合逐格比较、wrong1/wrong2 和日期 ±7 稳健性。`refresh=False` 首轮探针为空的案例必须保留为空,不能用刷新探针补齐。
## M3 · not_started
尚未执行事业(D1+D10)、婚恋(D1+D9)、综合(D1+D9+D10)三种取盘策略,也未统计各半径目标盘只有 1 段的“不用校正”比例。
## M4 · pending
已创建阶段性报告 `docs/research/rectification_varga_resolution_2026_09_30.md`,含候选档位、诚实出口与实现前置条件;M2/M3 无实测,尚未形成最终研究结论或实现单。不得把研究候选档位当成已校准的产品阈值。
## 运行命令与证据
- M0 全量:
`PYTHONUTF8=1 PYTHONHASHSEED=0 python scripts/research/varga_resolution_probe.py --radii 10,15,30,60 --json-out docs/research/varga_resolution_baseline_2026_09_30.json`
- M0 日志:`artifacts/varga-resolution/m0-full.log`
- 首轮 M0 定向测试:`PYTHONUTF8=1 python -m pytest -q tests/test_varga_resolution_research.py`,当时 4 passed;当前收尾复验为 77 passed,见下文。
- 既有基线定向测试:`artifacts/varga-resolution/baseline-targeted.log`,exit 0。
- 快速门:`artifacts/varga-resolution/baseline-quick.log`;需以命令实际 exit 与日志内容报告,不能把开工预检当作通过。
- 开工预检:`artifacts/varga-resolution/pre-work.log`,status=`fail`;失败原因是仓库环境的 preflight fragment-scan 合同缺少预期 `.workbuddy/skills/jyotish-vedic-astrology` 镜像路径。该环境缺口不归因于本研究,也不能伪称通过。
## 本轮收尾复验(2026-09-30)
- 报告 ±30 D1 的 LOO 数字已从误写的 `75 / 1.000 / 1.000` 修正为 `75 / 0.973 / 0.987`,精确值为 0.97333333 / 0.98666667;新增测试逐行对比 M1 报表全部 12 行与机器 JSON。
- `PYTHONUTF8=1 PYTHONHASHSEED=0 python -m pytest -o addopts='' -q tests/test_varga_resolution_research.py`:**77 passed,exit 0**(主会话独立复验 1.19s),日志 `artifacts/varga-resolution/closure-targeted.log`。原 4 个测试断言不变,新增合成算术、空训练、LOO held-out 身份隔离、并列、LMT、308 唯一 case-radius、36 组汇总重算测试;没有重跑引擎,不证明全量字节复现。
- M0/M1 `--help` 均 exit 0,日志 `closure-m0-help.log`、`closure-m1-help.log`。
- `PYTHONUTF8=1 PYTHONHASHSEED=0 python -m pytest -o addopts='' -q tests/test_repo_privacy_markers.py`:**63 passed,exit 0**,日志 `closure-privacy.log`。只覆盖当前 tracked repository;新增研究文件仍未跟踪,不能据此宣称产物隐私全绿。
- 对全部本轮脚本、文档、测试及研究 JSON/log 复用现有 `build_rules` / `scan_text` 显式补扫:**未通过**。29 个成功解码文件中 M0 baseline JSON 有 R003 共 3 次命中(扫描时刻字符串字段,未输出标记值);旧 `baseline-quick.log` UTF-8 与 GB18030 严格解码均失败。初次 UTF-8-only 扫描 exit 1,带严格回退的补扫也 exit 1,证据 `closure-explicit-privacy.log`。未删改研究证据或放宽隐私例外;提交前需独立核查这些命中并完成原日志的保真扫描。
- 回放不是每例答满六题:308 个 case-radius 中无探针 36、零回答 38,实际 0–6 题分布为 38/6/5/9/11/16/223。全部保留分母。top 命中包含并列;percent 为后验质量归一化,不是独立概率校准。报告已补真实定义与局限。
- M1 metadata 的确定性标志不构成复跑证据;M0 任务书起点表逐格对齐仍欠。M2/M3 未执行,BUG-1105 保持 investigating,索引已同步为部分完成。
- 最终完整 quick 补验使用本机 Python 3.11.7,日志 `artifacts/varga-resolution/closure-quick.log`,**exit 1**。Python 子段为 **1000 passed、1 failed、1 skipped、3 subtests passed(473.06s)**;唯一列出的 pytest 失败是 `tests/test_consultation_native_layers.py::test_the_new_layer_leaves_every_existing_output_unchanged`,在去除既有 volatile 字段后比较两次输出的 JSON 等价性断言失败。日志差异片段涉及 VedAstro 请求清单,但详情截断,根因未确定。本次在 Python 步骤停止,不以开工时的 tsx 失败解释本次失败,不能声称与基线逐项一致。
- quick 运行期间 5 个 tracked oracle pending packet JSON 变脏。独立只读核查确认:全部 JSON 与 HEAD 语义相同,归一换行后字节相同,只有 LF→CRLF。写入链为 `run_quality_gate.py` → `test_external_oracle_sanity_closure.py` → `external_oracle_sanity_closure.py` → `oracle_closure_master_dashboard.py` → `tajika_annual_closure_status.py` → `tajika_annual_oracle_queue.py:272–284` 的文本模式写入。未恢复或暂存这些非计划文件,排除在本研究候选交付之外;不能把这一副作用当作上条测试失败的已证根因。
- 独立验收复核全部 M1 表格和回答分布与 JSON 一致,另跑研究定向 **77 passed,exit 0(1.34s)**;只发现本页一处残留“当前 4 passed”,已改为首轮历史值。复核不覆盖完整引擎二次复跑,也不推翻 quick / 隐私补扫未通过的结论。
### 最终文档收口复验
- 最终文档更新后合跑研究定向与 tracked 隐私守卫:**140 passed,exit 0(6.63s)**,即 77 项研究测试 + 63 项隐私测试;日志 `artifacts/varga-resolution/closure-final-checks.log`。
- 对本轮 7 份修改文档(含未跟踪报告/进度及错误台账)复用现有隐私规则显式扫描:**0 findings**。此结论仅覆盖这 7 份文档,不覆盖全部研究 JSON/log,不解除此前产物补扫的 3 处命中及旧日志解码缺口。
- 本轮 tracked 文档 `git diff --check` exit 0;全工作树另有已确认的 5 个 oracle 换行副作用,未恢复、未暂存。生产代码、前端、线上评分权重和门槛未改,未提交、未推送、未部署。完整 quick 仍为未通过,整单仍未验收。
## 未完成原因与恢复点
第二次全量 M0 复跑已于本轮中止,**未完成**:`artifacts/varga-resolution/m0-full-rerun.log` 仅有 103 行(已输出 约 26 例×4 档中的前三档,远少于完整 77×4=308 个 case-radius 行),`artifacts/varga-resolution/varga_resolution_baseline_rerun.json` 不存在,因此没有第二次复跑 exit/hash 可报告,也没有逐字节一致性证据。当前没有残留 Python 进程。不得把该日志算作全量通过;首跑的 `m0-full.log`/baseline JSON 才是 M0 全量证据。后续若恢复,须从头完成 77×4 并再比较 hash;本轮不再等待。M1 后续已完成 308 条全量分析,见上文,不再沿用“M1 未开始”的旧状态。M2/M3 为 not_started、M4 为部分完成;后续按原任务书让步顺序 M0 > M1 > M3 > M2 推进,不能以当前文档收尾替代研究验收。
- 该归档是同一任务书的**部分**执行: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` 中对方的记录保留不改。
+1 -1
View File
@@ -257,7 +257,7 @@
| `TASK-rectification-futile-collect-stop-20260929.md` | `PROGRESS-rectification-futile-collect-stop-20260929.md` | **生时校正停掉无效补经历循环(止血)**:打字经历不收窄(BUG-560 后果),流程却一路索要,真机 22 件整窗不动;采集只为开闸、门开后只问点选卡问完即出卡;交付正文去吻合率;多段时旁白误报「范围没变」;交付轮带采集题 | 已验收(Claude 2026-09-29 合并验收:全量前端 4302/24 与基线同 24 条环境失败、tsc 0、lint 0 error、`/` Static、gzip +0.16%、快速门 pytest 1001 passed、两份回放复跑一致),待部署核对 | BUG-1084~1087 |
| `TASK-rectification-holdout-expansion-20260929.md` | `PROGRESS-rectification-holdout-expansion-20260929.md` | **开放评价集扩到 ≥60 例(v5)**:所有打分判定都在 20 例上做,1 例 = 5pp,KP / 精度闸 / V1n 的 no_benefit 都只差 1–3 例。只用 Rodden AA 公开名人,事件人工核对出处,分层(年代 / 纬度 / 南半球 / 跨午夜 / UTC+8),v4 不动;基线成绩单 v4 子集须与已发布数字逐格一致。研究单的判定以 v5 为准 | 已验收(Claude 09-29:77 例、v4 子集数字逐格一致、抽样 6 例来源一致、冻结文件零改动;UTC+8 5/6 为数据可得性缺口,接受;已合入 staging)→ 研究单判定可开工 | 分支 `codex/rectification-holdout-expansion-20260929`(BUG-1090) |
| `TASK-rectification-scoring-research-20260929.md` | `PROGRESS-rectification-scoring-research-20260929.md` | **打分方法研究(离线)**:R-A 似然比校准权重(leave-one-case-out,KP / Pranapada / D60 作为特征由数据定权重、允许负权重)、R-B 缺席证据(口述时间线覆盖时段内的空白年扣分,必测漏说稳健性)、R-C 精度追问可行性(对已说事件追问月份,算在定向追问 2 条额度内)。判定必须在 v5 上做;有收益才立实现单并按 ERR-110 重冻结 | 已验收关单(Claude 09-30:v5 77 例三项全部不过硬红线 1,稳定特征 0 个;BUG-1091 closed_by_design;打分路线关闭,后续走产品口径「盘型选择」研究) | 分支 `codex/rectification-scoring-research-20260929`(BUG-1091 closed_by_design) |
| `TASK-rectification-varga-resolution-research-20260930.md` | [PROGRESS](PROGRESS-rectification-varga-resolution-research-20260930.md) | **「盘型口径」研究(BUG-1105,离线)**:M0 首轮、M1 全量各 308 个 case-radius;±60 D9/D10 真值段保留各 74/77 < 基线 75/77,不通过红线;LOO 高准确率仅在小覆盖子集成立。生产零改动 | 执行中(部分完成;M0 逐格一致性/二次复跑未闭环,M2/M3 not_started,M4 阶段性) | `codex/rectification-varga-resolution-research-20260930`;用户要求归档到 staging,提交子集与排除项见 PROGRESS(不代表验收);[研究报告](../research/rectification_varga_resolution_2026_09_30.md) |
| `TASK-rectification-varga-resolution-research-20260930.md` | `PROGRESS-rectification-varga-resolution-research-20260930.md` | **「盘型口径」研究(离线)**:打分层关闭后,把校正目标从分钟改为分盘上升段。v5 实测:±10 六题后 D1 单一 75/77,D9/D10 ≤2 种 68/63,多数=真值 88%/84%;±30 起分盘分不开。M0 入库段扫描与区间脚本、M1 段级汇总与阈值-准确率(留一法)、M2 按段选题、M3 按问题域取盘 + 「不用校正」比例、M4 实现单要点。不改引擎 / 常数 / 冻结文件;红线:真值段不被排除 ≥ 现在真值在区间比例 | 已实现待验收(Claude fork 2026-09-30:M0 两张表逐格复现;±10 D9/D10 头段=真值 88%/86%、占比≥0.6 留一法 92%/90%;±30 约 1/4–1/3 可信;±60 分盘不过硬红线 1;按段选题 ≤±30 +3~+7 例;提前停不过;「不用校正」三策略 0/77;建议立实现单) | 分支 `codex/rectification-varga-resolution-research-20260930`(BUG-1105) |
| `TASK-rectification-typed-event-scoring-research-20260929.md` | `PROGRESS-rectification-typed-event-research-20260929.md` | **打字经历按选择题规则计分(离线研究,不上线)**:计分通道不对称 + 已入账年份挡题;R0 学业质量题措辞 / 年精度显示成 1 月(冻结文件,需重新冻结) | 已验收(Claude 2026-09-29 合并验收:全量前端 4302/24 与基线同 24 条环境失败、tsc 0、lint 0 error、`/` Static、gzip +0.16%、快速门 pytest 1001 passed、两份回放复跑一致),待部署核对 | BUG-1088、1089 |
| `TASK-report-reader-polish-20260929.md` | `PROGRESS-report-reader-polish-20260929.md` | **报告页打磨**:生成入口挪进页面主体(删标题栏按钮)、详情页到底部按钮(懒渲染一次到底)、导出按钮带文字、目录一级/二级分层、去掉「字段」与 RL/NL 缩写表头、状态列同义重复去重、报告表格淡底色、分块导出显示真实文件大小 | Claude 直接执行并自验(tsc 0、lint 0 error、全量 fail 与基线同 24 条、`/` Static、gzip +7 B、快速门 Python 1000 passed),已部署 staging `d7772011`,真机欠 | BUG-1092~1094 |
| `TASK-report-english-edition-20260929.md` | `PROGRESS-report-english-edition-20260929.md` | **报告中英两版**:同一次引擎计算渲染 zh/en 两遍(不用模型翻译),瑜伽库 477 条补英文、模板与前端表头英文化;中文逐字节不变、英文零汉字、两版数字序列一致;阅读页 `?lang=en` 切换,导出当前语言 + 「问 AI 建议导出英文版」提示;旧报告不补英文 | Claude 直接执行(含两个 fork 子代理)并自验(tsc 0、lint 0 error、全量 fail 与基线同 24 条、`/` Static、gzip +0.06%、Python 定向全绿),已部署 staging `d7772011`,真机欠 | — |