# PROGRESS · 采用卡锚点与交付旁白(2026-09-05) 工作树:`.worktrees/rectification-quality-probe-dedupe-20260904` 分支:`codex/rectification-quality-probe-dedupe-20260904` 基线:`origin/staging` `7c776bdd`(Inter 本地字体)。未改 `.gitea/workflows/**`、未动迁移、未升级依赖、未 bump Skill(仍 10.0.14)、未改 `page.tsx`。 | 任务 | 状态 | BUG | | --- | --- | --- | | 采用卡跟最新旁白,采集题下不出卡 | 完成 | BUG-544 | | 单分钟交付旁白去机器腔 | 完成 | BUG-545 | ## 编号 开工时最大号 BUG-543。本单 **BUG-544、BUG-545**。未占用预留的 BUG-542。 ## 实现要点 - `attachOfferResultToTurns` / `applyLiveCandidateOffer`:未采用时跳过未答 `collect_spoken` / `choice`;卡挂在最新已落地助手消息。已采用后不挪到核对题。 - GET 水合:该回合 `offer_result_id` 为空则清掉客户端脏锚点。 - 单分钟区间:`眼下更站得住的是 HH:MM`。停问:`再问下去也分不开 A 和 B` / `再问下去也分不出更准的时间了`。`adoptCue`:`我按你说的经历认真分析过了,下面是这次的结果。` ## 断言变更 | 项 | 原值 | 新值 | 原因 | | --- | --- | --- | --- | | `adoptCue` | 可以从下面选一个先用着。 / 下面的时间可以先用着。 | 我按你说的经历认真分析过了,下面是这次的结果。 | 付费校正不是随便先用着;仍不说成已确认 | | `rectification-answer-choice` 最后一题旁白 | `/代表分钟/` | `/眼下更站得住的是\|代表分钟/` | 单分钟区间不再念「代表分钟 05:00」 | | `site`/`agentic-entry` 卡锚点 | `messages.find` 第一条 offer | `reverse().find` + `applyLiveCandidateOffer` | 旧采集题抢锚点 | ## 测试 | 命令 | 结果 | | --- | --- | | `npx tsx --test tests/rectification-candidate-offer-anchor.test.ts tests/agent-voice-copy-contract.test.ts` | 15/15 | | 上两项 + adopt-flow / adopt-narration / answer-choice / collect-stall / provisional-adopt / range-offer / agentic-entry / activity-receipt | 160/160 | | `tsc --noEmit` | 0 错 | | 改动文件 eslint `--quiet` | 0 error | | `page.tsx` | 未改 | 未做浏览器真人走查。清单:`docs/testing/rectification-adopt-card-anchor-20260905.md`。