fix(rectification): emit finer dated probes on refresh only (BUG-664/665)
Independent Staging Quality Gate / validate (push) Successful in 10m11s
Independent Staging Quality Gate / publish (push) Successful in 7m26s

After six dated answers, refresh can use 30-day same-year windows plus pratyantar and D9/D10 Narayana. First-round probe rules stay at 45 days.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-13 18:19:46 +08:00
co-authored by Cursor
parent 530f260f76
commit ab1ade59b7
7 changed files with 403 additions and 43 deletions
@@ -0,0 +1,36 @@
# 进度 · 刷新阶段放宽换运边界 R3 + R42026-09-13
## 范围
- 分支:`codex/rectification-refresh-r3-r4-20260913`(基于 `origin/staging` @ `530f260f`
- 任务单:`docs/tasks/TASK-rectification-refresh-r3-r4-20260913.md`
- 研究结论:`docs/research/probe_supply_after_six_2026_09_13.md`;只实现 R3 + R4
- BUG-664:刷新 `MIN_BOUNDARY_DAYS` 45→30
- BUG-665:刷新并入 pratyantar 与 D9/D10 上升 Narayana
- 不实现 R1/R2;不改 `EXISTENCE_NEARBY_YEARS``SCORE_DELTA`、确认门、性格题计分(BUG-629)
- 研究脚本 `scripts/research/probe_supply_after_six.py` 保持离线
- Skill 不升版:用户路径仍是「刷新带年月题 → 定向补事 → 目前范围」,只是刷新可能多几道同类题;10.0.25 口径已覆盖
## 完成
- T1 `REFRESH_MIN_BOUNDARY_DAYS=30`;仅 `refresh_probes is True` 时传入 `_union_boundary_dates`。首轮仍调用 `_union_boundary_dates(reps, birth_date=..., lo=lo, hi=hi)``MIN_BOUNDARY_DAYS` 仍为 45。
- T2 仅刷新:`include_pratyantar=True`(首轮不把该关键字传给 `_vim_start_dates`,以免旧 mock 失败);D9/D10 上升 Narayana 与本命上升并集。
- T3 `tests/test_rectification_refresh_r3_r4.py`40 天同年窗、pratyantar、D9 上升不同;年份用 2019,避开搬家/婚恋年龄下限与邻近年封锁。
- T4 BUG-664/665、CHANGELOG、本文件、任务板、手测 0b/0c 补「刷新有题则先出带年月题」。
## 验收(本机,未部署)
- `tests/test_rectification_refresh_r3_r4.py`4 passed
- `tests/test_rectification_refresh_r3_r4.py` + `tests/test_rectification_event_probes.py` + `tests/test_candidate_discriminator_contract.py`51 passed
- `tests/test_rectification_*.py`171 passed / 0 failed
- `run_quality_gate.py --profile quick`738 passed / 1 skipped / 1 failed
- 失败项:`test_block_scan_seven_events_finishes_within_fifteen_seconds` 壁钟 46.2s > 15s
- 与本单无关(未改 `block_scan`);任务板 `TASK-rectification-capability-fix-20260907.md` 已记为 P2 间歇红
- 未做登录态真机 0b(无本地会话)
## 未做
- 未把研究脚本接到 API
- 未改首轮出题、未实现 R1/R2
- 未升 Skill 10.0.26
- 未做登录态真机 0b(无本地会话)
+1 -1
View File
@@ -178,7 +178,7 @@
| `TASK-rectification-after-pool-empty-decision-20260913.md` | — | 决策单草案:六道带年月题问完、引擎刷新无新题后,定向补事是开放式口述题,体感死板。给出 A 逐条点选 / B 放宽引擎出题(先离线量收益)/ C 参考题可选入口 / D 文案 四个方案,建议 A+D(+C) | 已拍板 2026-09-13A+D+C 进 `TASK-rectification-targeted-collect-cards-20260913.md`B 进研究单 | — |
| `TASK-rectification-targeted-collect-cards-20260913.md` | `PROGRESS-rectification-targeted-collect-cards-20260913.md` | 定向补事改逐条点选卡(有/没有/记不清 → 有则口述年月;没有不计分只防复问;全没有出卡)+ 文案说清剩余候选与线 + 卡下「再答两道参考题」入口(BUG-661663Skill 10.0.25 | 待验收 | `codex/rectification-targeted-collect-cards-20260913` |
| `TASK-rectification-probe-supply-research-20260913.md` | — | 研究单:六题后引擎在剩余候选上再出带年月题的四种放宽规则,20 例公开 AA 数据离线量收益,有收益才立实现单 | 已合入(离线测量,不改线上) | `b063c668` |
| `TASK-rectification-refresh-r3-r4-20260913.md` | | 刷新阶段 R3MIN_BOUNDARY_DAYS 45→30+ R4pratyantar 与 D9/D10 上升 Narayana);首轮出题不变。即使放宽仍有 0 题例子,定向补事另线保留(BUG-664/665 | 待领取 | |
| `TASK-rectification-refresh-r3-r4-20260913.md` | `PROGRESS-rectification-refresh-r3-r4-20260913.md` | 刷新阶段 R3MIN_BOUNDARY_DAYS 45→30+ R4pratyantar 与 D9/D10 上升 Narayana);首轮出题不变。即使放宽仍有 0 题例子,定向补事另线保留(BUG-664/665 | 待验收 | `codex/rectification-refresh-r3-r4-20260913` |
## 命名与归档