diff --git a/TASK-rectification-adopt-flow-fix-20260903.md b/TASK-rectification-adopt-flow-fix-20260903.md index bd6e02e2..7cd55ef0 100644 --- a/TASK-rectification-adopt-flow-fix-20260903.md +++ b/TASK-rectification-adopt-flow-fix-20260903.md @@ -1,4 +1,4 @@ -# 任务书 · 采用流程修复单:采集期出口兜底、「改选」可点、开场题不占 education、核对题年份持久化、「用这个时间看盘」真正接到看盘(2026-09-03,09-03 增补 §4b) +# 任务书 · 采用流程修复单:采集期出口兜底、「改选」可点、开场题不占 education、核对题年份持久化、删「用这个时间看盘」按钮(2026-09-03,09-03 增补 §4b) 基线:`origin/staging` `35e5781e`(`TASK-rectification-adopt-flow-20260902.md` 的实现,BUG-497~500)。本任务书是对该实现 review 后的修复单,**不改 `35e5781e` 已定的形态**(公开 `can_adopt` 按 session_outcome 收紧、accept 409、核对题沿用持久化 questionId、卡归出卡消息、状态条承接),只修 1 个 P1 和 4 个 P2(§4b 为 09-03 用户实测后增补)。 @@ -6,14 +6,14 @@ `35e5781e` 门禁全绿(tsc / lint 0 错 / 1109 测试 fail=0),两个 P0 的修法与任务书一致。但收紧公开 `can_adopt` 之后,**非终止轮出口检查还在看内部 `canAdopt`**,会把一种此前靠"漏出的采用卡"兜住的状态变成真正的死角;另外三处是形态没做完或副作用。 -**09-03 增补来源**:用户在真实环境走完一轮(采用 04:53,不可分区间约 29 分钟)后反馈"下面那个 `rectification-consult-handoff`「用这个时间看盘」按钮没用吧"。核对结论:按钮不是死的,但只做了"开一个空会话 + 往输入框塞一句服务端根本不读的话",而且没接住采用时间同步与"回到原来的问题"两条承诺——见 §4b。用户同一份记录里其余现象**已被 `35e5781e` 覆盖、本单不重复处理**,实现者不要再改: +**09-03 增补来源**:用户在真实环境走完一轮(采用 04:53,不可分区间约 29 分钟)后反馈"下面那个 `rectification-consult-handoff`「用这个时间看盘」按钮没用吧"。核对结论:按钮不是死的,但只做了"开一个空会话 + 往输入框塞一句服务端根本不读的话",与用户自己点「新对话」无异;用户随后拍板"我不需要这个按钮",本单 §4b 改为**删除**。用户同一份记录里其余现象**已被 `35e5781e` 覆盖、本单不重复处理**,实现者不要再改: | 用户看到的 | 归属 | 状态 | | --- | --- | --- | | 题干出现两遍(正文一遍、选项卡上方一遍) | 旧构建底部问题槽 + 消息内题干并存 | `35e5781e` 已删底部槽,嵌入卡 legend 为 `sr-only`,题干只剩消息内一处;待部署 | | 核对题卡片底部仍有「先这样,先看当前范围」 | reverse_verify 卡应为「这题跳过」 | `35e5781e` §3.4 已做;待部署 | | 收口报告之后又问一道 2024 年 5 月感情核对题 | 采用后最多核两件前事,是 Skill 既定流程 | 不是缺陷,不改 | -| 「用这个时间看盘」是列表末尾裸按钮 | `rectification-consult-handoff` | `35e5781e` 已移进状态条并删裸按钮;**但 onClick 的行为没改**,本单 §4b 修 | +| 「用这个时间看盘」是列表末尾裸按钮 | `rectification-consult-handoff` | `35e5781e` 已移进状态条并删裸按钮;本单 §4b 把状态条里的这个按钮也删掉 | ## 1. P1 · 采集期"无题、无卡、无出口" @@ -73,53 +73,30 @@ 2. `keepAcceptedFocus` 的 `keepProbeYear = matchingVerify?.year || schemaYear`,删除 `promptYear` 兜底。年份仍缺时不给 `probe_year`,`validateSpokenPrompt` 的 `year_missing` 只在 `probe_year` 非空时触发(现有语义),不会误伤。 3. 测试:`rectification-question-ownership.test.ts` 加一条:采用后 set-focus 建的 reverse_verify focus,`expectedAnswerSchema.probe_year` 等于探针年份;`keepAcceptedFocus` 在 schema 无 `probe_year`、无匹配探针时 followup 不带 `probe_year`,且 `method-followup.ts` 源码不再含 `/19\\d{2}|20\\d{2}/`。 -## 4b. P2-d · 「用这个时间看盘」只是开空会话 + 塞一句废话(09-03 增补) +## 4b. P2-d · 删除「用这个时间看盘」按钮(09-03 增补;09-03 产品拍板改为删除) -**位置**:`frontend/src/hooks/use-session-management.ts` `startConsultationAfterRectification`(~315);`frontend/src/app/page.tsx` `onStartConsultation` / `onSaved`(~1951);`rectification-agentic-chat.tsx` 状态条 `用这个时间看盘` 按钮(~1503);`frontend/src/hooks/use-consultation-run.ts` `resolveBirthTimeConsultationRoute(profile, …)`(~517)。 +**决策记录**:`TASK-rectification-adopt-flow-20260902.md` §3.3 规定状态条承载"改选 · 用这个时间看盘",`35e5781e` 已照做。用户 09-03 实测后明确表示"我不需要这个按钮",产品拍板**删除**该按钮,本单据此推翻上一单 §3.3 中"用这个时间看盘"这一项;"改选"保留(§2)。 -**现状(静态核对,不是猜)**: +**为什么删了不损失功能**:采用时 RPC `accept_agentic_rectification_candidate_for_case_v2` 已写 `profiles.active_birth_time` + `birth_time_status='accepted'`,之后任何普通咨询在 `/api/consult` 的 `prepareConsultationRoute` 里都按 `verified_chart` 取 `active_birth_time` 排盘。按钮现在做的只是 `startNewChat()` + 往输入框塞一句服务端不读的"请用刚才采用的代表性出生时间看盘。",等价于用户自己点「新对话」。 -```ts -async function startConsultationAfterRectification() { - await startNewChat(); - setDraft("请用刚才采用的代表性出生时间看盘。"); - setComposerNotice("已用刚才采用的时间作为当前排盘。这还不是唯一分钟确认。"); -} -``` +**位置**:`rectification-agentic-chat.tsx` 状态条里的 `用这个时间看盘` `