docs(tasks): tidy widen-card tiers and post-widen staging in declared-uncertainty brief

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
This commit is contained in:
Jesse_Chen
2026-09-07 02:30:59 +00:00
parent 480050d655
commit ad9283d1bd
@@ -64,8 +64,8 @@
### D3 放宽窗口一键卡(BUG-572:吻合率低不提议放宽)
- 迁移:`widen_agentic_rectification_case_window(p_user_id, p_case_id, p_start_time, p_end_time)`:校验 `stage='minute'`、新窗口包含旧窗口、宽度 ≤ 241、`status ∉ terminal`、未采用;写 `candidate_range`,返回新范围;同一迁移给 `agentic_rectification_cases``widen_declined_at_fingerprint text null`
- 决策层:`decideRectification` 新入参 `windowWidenSuggested`(由 `decision-from-dossier` 按决策 3 条件计算,边缘判定用 `separation.representativeTime``case.candidateRange`),为真时返回 `nextAction="ask_window_widen"`,排在 `ask_candidate_discriminator` 之前;`sessionOutcome="widen_window"``can_adopt=false`
- 计划层:`method-followup.ts` 比照 `blockChoiceFollowup` 生成 `widen_window`选项文案服务端生成,档位从当前半径推:15→30/6030→60/12060→120/—(B 隐藏为 C 的同义?不行——四选项契约要求四项,则 B 写「放宽到前后两小时」与 A 相同档时 B 改为「先补一件带月份的经历再说」answer_class `no`)。
- 应用:`answer-choice.ts` 比照 `mutateCaseForBlockChoice`:A/B → RPC 改窗口 → 泛化 `rescoreMinuteAfterBlockAdvance``rescoreMinuteAfterWindowChange` 重算 → 调用现有账户资料 patch 路径把 `uncertainty_before/after` 写为新半径、`birth_time_source``approximate``hospital_record` 例外:档案不改,只改窗口,因为其校验固定 ±2);C/D → 写 `widen_declined_at_fingerprint`
- 计划层:`method-followup.ts` 比照 `blockChoiceFollowup` 生成 `widen_window`选项文案服务端生成,档位从当前半径推:15 → A ±30 / B ±6030 → A ±60 / B ±12060 → A ±120 / B「先补一件带月份的经历再说」answer_class `no`,四选项契约要求四项且不重复)。
- 应用:`answer-choice.ts` 比照 `mutateCaseForBlockChoice`A/B → RPC 改窗口 → 按 D5 的 `stageForWindow(width)` 决定去向(新窗口 ≤ 120 分钟:泛化 `rescoreMinuteAfterBlockAdvance``rescoreMinuteAfterWindowChange` 重算> 120 分钟:切 `block_scan` 出三子段卡) → 调用现有账户资料 patch 路径把 `uncertainty_before/after` 写为新半径、`birth_time_source``approximate``hospital_record` 例外:档案不改,只改窗口,因为其校验固定 ±2);C/D → 写 `widen_declined_at_fingerprint`
- 验收:新文件 `rectification-window-widen-20260907.test.ts`——(1) fit low + 代表分钟在边缘 → `nextAction=ask_window_widen`,卡四项齐;(2) fit low 但代表分钟在中间 → 不出卡;(3) 答 A → RPC 收到包含旧窗口的新范围、重算被触发、profile patch 收到新半径、已答探针数不变;(4) 答 C → 记指纹,同指纹下再评估不出卡,新证据到来后可再出;(5) 已 ±120 不出卡;(6) `hospital_record` 答 A 不改档案来源。`rectification-v9-database.test.ts` 加 RPC 用例(Docker)。
### D5 子段扫描(决策 7;BUG-573:选定时段后直接进 4~6 小时分钟网格)