# 进度 · 交付区间宽度与簇合并研究(2026-09-14) ## 范围 - 分支:`codex/rectification-cluster-width-research-20260914`(基于 `origin/staging` @ `ada2cfb1`) - 任务单:`docs/tasks/TASK-rectification-cluster-width-research-20260914.md` - 结果:`docs/research/cluster_width_2026_09_14.md` + 同名 `.json` - 勘误:`docs/research/minute_resolution_2026_09_14.md` 追加「勘误(2026-09-14 簇宽度研究)」 - 脚本:`scripts/research/cluster_width_lib.py`、`scripts/research/cluster_width_probe.py`(离线,不进 API) - 未改 `candidate_contrast.py`、`scoring_service.py`、`active_rectification_event_engine.py`、确认门、`SCORE_DELTA` - 本单不占 BUG 号 ## 完成 - 开工读了上一轮 `minute_resolution_2026_09_14.md`、对照报告、`candidate_contrast.py` 全文。 - M0:上一轮 `width_median` 取全部公开簇并集,**不含淘汰**。六题回放虽调用 `apply_answer`,`summarize()` 仍读 `engine.width`;`remaining_count` 是代表分钟封顶 5。按线上 `unionStillValidRange`(未淘汰且落后头名不足 8 分的簇覆盖)重跑基线。 - M1:v4 20 例 × ±10/±30/±60。合并次数全是 0(签名簇最多 46 < 64)。真值簇独立率 20/20。`md` 在 ±10 窗内 20/20 恒定。 - M2:W1 / W2 与基线相同(合并不触发)。W3 0.7/0.8 在 ±10、±60 收窄且覆盖不降,±30 挤出 1 例公开 AA(`chad_everett_1937_aa_v4_holdout`)。 - 判定:**不确定,不立实现单。** ## 验收数字 含淘汰的线上口径(六题最优答): | 半径 | 无淘汰并集 | 六题后线上口径 | 区间覆盖 | 真值簇独立率 | | --- | ---: | ---: | ---: | ---: | | ±10 | 21 | 15 | 1.00 | 1.00 | | ±30 | 61 | 33 | 1.00 | 1.00 | | ±60 | 121 | 56 | 1.00 | 1.00 | W3@0.8:±10 宽度 15→11 覆盖 1.00;±30 33→25 覆盖 1.00→0.95;±60 56→43 覆盖 1.00。 - `python -m pytest tests/test_cluster_width_research.py tests/test_minute_resolution_research.py tests/test_rectification_v5_services.py`:63 passed - 本机无项目 `.venv`,用 Anaconda Python 3.11.7 + swisseph 跑完全量 20 例,错误 0。`run_quality_gate.py --profile quick` 编译通过后在 `interpretation_source_inventory_gate.py` 因缺少 `mcp` 包退出 1——基线环境缺口(本机无 `.venv`),与本单无关,不计入。 ## 未做 - 未改线上聚类或交付 - 未把研究脚本接到 API - 未立实现单(W3 未过覆盖门) - 未做 PyJHora / VedAstro / jyotishganit 对照(本单不解释运势) - 未 push