# 进度 · 出题闸门按证据精度分档研究(2026-09-14) ## 范围 - 分支:`codex/rectification-precision-gate-research-20260914`(基于当时 `origin/staging`;任务书含 M1b 的 `b56147e5`) - 任务单:`docs/tasks/TASK-rectification-precision-adaptive-boundary-research-20260914.md` - 结果:`docs/research/precision_gate_2026_09_14.md` + 同名 `.json` - 脚本:`scripts/research/precision_gate_lib.py`、`scripts/research/precision_gate_sweep.py`(离线,不进 API) - 未改 `scripts/rectification/event_probes.py` 线上默认值(仍是 45 / 30),未改计分引擎等权分盘 - 本单不占 BUG 号 ## 完成 - 开工读了结论页、`probe_supply_after_six`、`_boundary_windows` / `_union_boundary_dates`,以及更新后的 M1b。 - 离线测量:M0 精度三组、M1 G0–G4、M1b V1/V2/V3(±10 才加 D60)、M2 ±3/±7/±14、M3 六题后再出题。闸门只在脚本里临时 patch。 - 全量 20 例 × ±10/±30/±60,错误 0,约 2.5 小时。 - 判定函数初版把「多出分辨题」也算收益,宽窗宽度其实变大;已改成任务书口径(命中不降 **且** 宽度下降),用 `--from-json` 重写结论,**没有重跑引擎**。 ## 验收数字 口径 ayanamsa=`raman`、node mode=`mean`,步长 2 分钟。覆盖率三档都是 20/20,M2 挤出全是 0。 六题后线上口径(组 A,生产闸 G0): | 半径 | 头名命中 | 宽度中位 | 六题后再出 | | --- | ---: | ---: | ---: | | ±10 | 0.80 | 15 | 3.25 | | ±30 | 0.55 | 33 | 5.45 | | ±60 | 0.40 | 56 | 5.75 | 放宽闸门(G1–G4)在 ±10:宽度 15→11,头名 0.80→0.75。±30/±60 宽度变宽(33→35–37,56→58–64)。 M1b:V1/V2 与 V0 相同;V3 在 ±10 命中 0.80→0.70。 M0:日→月(B)与原样(A)在 ±10 相同;全部降成年(C)命中 0.80→0.75。 **判定:无收益,不立实现单。** - `python -m pytest tests/test_precision_gate_research.py tests/test_rectification_refresh_r3_r4.py`:16 passed - 按盘贡献表空(V0 采集误走生产计分);不改变 V1=V2=V0、V3 降命中的结论 - 本机无项目 `.venv`,用 Anaconda Python 3.11.7 + swisseph。`run_quality_gate.py --profile quick` 若因 `mcp` 包缺口退出,与基线环境相同,不计入 ## 未做 - 未改线上闸门或分盘权重 - 未把研究脚本接到 API - 未立实现单 - 未做 PyJHora / VedAstro / jyotishganit 对照(本单不解释运势) - 未 push