fix(rectification): keep hour-window tail clusters and lock the search window (BUG-623, BUG-624, BUG-625)
Independent Staging Quality Gate / validate (push) Successful in 17m15s
Independent Staging Quality Gate / publish (push) Successful in 2m15s

Hour windows no longer drop later signature clusters. Credible range uses cluster coverage, and a mid-session spoken birth window gets a fixed reply without calling the model.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-09 20:45:11 +08:00
co-authored by Cursor
parent a31a5e2426
commit 6008c07c81
41 changed files with 1164 additions and 44 deletions
@@ -0,0 +1,29 @@
# 生时校正窗口簇上限 · 走查清单(2026-09-09
分支 `codex/rectification-window-cluster-cap-20260909`,任务书 `TASK-rectification-window-cluster-cap-20260909.md`。不要把真实案例里的姓名、地点或精确出生资料写进记录。
自动化已锁:`tests/test_rectification_v5_services.py`(17 簇夹具、簇覆盖、超 64 合并保尾)、`frontend/tests/rectification-window-cluster-cap-20260909.test.ts`(解析、路由不进模型、区间右端、禁用口头承认)。
## 1. ±30 窗口候选必须覆盖整窗
用虚构盘,家人档选「差不多准」(±15,半小时窗)和新开一次「前后半小时」(一小时窗)。
- [ ] 半小时窗:比较后的候选范围左端不晚于窗口左端、右端不早于窗口右端(允许因证据收到中间,但不得在第一次比较前就丢掉尾巴)。
- [ ] 一小时窗:第一次比较不得只收到窗口前 2/3。若窗口是 14:00–15:00,14:46 之后必须仍可能成为候选。
## 2. 中途说出时段必须固定回复,不得改窗口
点选题还挂着时输入「我的出生时间是 14 点 45 到 14 点 50」。采集题挂着时再试一次「14:47 左右」。
- [ ] 立刻出现固定回复:搜索范围开始时按资料定、过程中不改;要换时间段先改资料再新建校正。
- [ ] 顶部搜索窗口不变。
- [ ] 原来的点选题或采集题还在,没有被换成别的题。
- [ ] 这一句没有调用模型(网络面板不应出现对话补全;助手气泡应瞬间出现)。
- [ ] 不含钟点的普通句子(「继续吧」「没有」)不走这句固定回复。
## 3. 助手不得口头答应改时间
若模型仍被问到出生时段(回归:关掉拦截再试,或看历史事故会话)。
- [ ] 不得出现「明白了,以你说的为准」或改写搜索窗口。
- [ ] Skill 10.0.20 写明不得口头承认。