# PROGRESS:采用后核对题无按钮(2026-10-01,BUG-1146~1147) - 模式:直接执行(产品 10-01「保留 然后你修」:盘型口径下保留采用后核对题,Claude 直接修并验收)。 - 基线:`origin/staging` `f1a169cb`;分支 `codex/rectification-post-adopt-verify-20261001`。 - BUG 编号:开工时 staging 最大 1144;1145 已被另一会话(consult-timeline-no-plan)占用,本单用 1146~1147。 ## 根因(已用测试复现) 1. 已采用时 keep 分支重建 followup 丢了探针身份,卡片 id 与落库题号 `probe:` 对不上,GET 返回空卡(BUG-498 同症状复发)。 2. 采用接口不写轮次;随后的只读运行在交付后 60 秒内被判 `already_delivered`(BUG-596),也不写;题挂到上一题回复下。 3. 盘型口径下三处分钟文案未分支(BUG-1147)。 ## 改动 | 文件 | 改动 | | --- | --- | | `v9/method-followup.ts` | keep 分支带回 `semantic_key` / `candidate_split_hash` | | `v9/answer-choice.ts` | 新 `writeAdoptFollowupTurn`(写轮次 + 挂焦点 + 交付标记);盘型口径下答题回复无分数移动句、交付旁白不追加分钟候选提示 | | `candidates/accept/route.ts` | 非幂等采用后写采用轮次,返回 `adopt_turn_id` | | `rectification-chat-accept-run.ts` | 有 `adopt_turn_id` 时用快照替换进行中行,不发只读运行 | | `user-copy.ts` | `postAdoptCheckLead`;盘型交付正文不重复边界句 | | `v9/choice-action.ts` | `segmentProduct` 参数 | 不改数据库结构;所用 RPC(`append_agentic_rectification_turn`、`set_agentic_rectification_conversation_focus`)采用后状态 `accepted` 不属终止态,既有只读续跑路径已在采用后调用过。 ## 验收 见本文件末尾「门禁」一节(与基线 `f1a169cb` 逐条比对)。真机:`docs/testing/rectification-post-adopt-card-20261001.md`。 ## 门禁(基线 `f1a169cb` vs 本分支,同机同 node_modules) | 项 | 基线 | 本分支 | | --- | --- | --- | | `tsc --noEmit` | 0 | 0 | | `npm run lint` | 0 error | 0 error | | `npm test` 用例名 | 4833 | 4841(+8 新增,缺失 0) | | 失败清单(无 Docker 的 DB / 部署套件) | 24 | 24,逐条一致 | | cancelled | 0 | 0 | | `next build` `/` | ○ Static | ○ Static | | 首屏 gzip JS | 555,622 | 555,659(+0.007%) | | 按镜像 COPY 清单的构建 | — | 通过 | | `tests/test_repo_privacy_markers.py` | — | 通过 | Python 快速门:本单不改 `scripts/**`、`tests/**`,未跑。`test:db`:不改表与 SQL,所用 RPC 采用后已有调用路径,未跑;部署后真机清单覆盖。