diff --git a/docs/tasks/TASK-rectification-year-focus-overlay-20260916.md b/docs/tasks/TASK-rectification-year-focus-overlay-20260916.md index 5209e190..8c267614 100644 --- a/docs/tasks/TASK-rectification-year-focus-overlay-20260916.md +++ b/docs/tasks/TASK-rectification-year-focus-overlay-20260916.md @@ -78,6 +78,7 @@ - 在 `agent-run.ts:309-335` 日期可靠性分类器旁边加同形状的 host 前置:活动焦点 `event_date_entry === true` 且用户消息里没有年份(`19xx/20xx` 或「x 年」)→ 不进模型,host 直接以服务器题干再问一次(复用 `emitVisibleSpoken` 路径),不扣点、不占步骤;有年份则照常进模型。 - 用回放测试复现 §1 的循环:活动 `:year` 焦点 + 消息「是」→ 修前应到 `max_steps`(或写明复现不了,改记 `investigating` 并保留 host 前置作为防御);修后 host 前置接住。 +- 卡片消失的原因也在这条链上:录入卡只跟着快照里活动焦点的 `:year` 题号走;失败轮的工具写入不回滚(`agent-run.ts:1084-1087` 直接 `failedAttempt`,`previousFocusId` 只上报不恢复),模型在那 8 步里 set-focus 换题号(supersede)、resolve-focus 或 batch 关掉了年月焦点,轮结束 `loadCaseSnapshot` 重读后活动焦点已不是它,卡随之消失,而接替的题又没落成。回放测试要断言:**失败轮不得只关掉年月焦点而不留下可答的题**——要么焦点原样保留(卡还在),要么接替题已持久化。 - 验收:`run-diagnostic` 的 `max_steps` 映射不变;`applyHostFallback` 不改条件;新测试绿。 ### T4 persisted 问题块与消息同一条左边线(BUG-911)