Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
3.7 KiB
3.7 KiB
PROGRESS:采用后核对题无按钮(2026-10-01,BUG-1146~1147)
- 模式:直接执行(产品 10-01「保留 然后你修」:盘型口径下保留采用后核对题,Claude 直接修并验收)。
- 基线:
origin/stagingf1a169cb;分支codex/rectification-post-adopt-verify-20261001。 - BUG 编号:开工时 staging 最大 1144;1145 已被另一会话(consult-timeline-no-plan)占用,本单用 1146~1147。
根因(已用测试复现)
- 已采用时 keep 分支重建 followup 丢了探针身份,卡片 id 与落库题号
probe:<key>对不上,GET 返回空卡(BUG-498 同症状复发)。 - 采用接口不写轮次;随后的只读运行在交付后 60 秒内被判
already_delivered(BUG-596),也不写;题挂到上一题回复下。 - 盘型口径下三处分钟文案未分支(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 采用后已有调用路径,未跑;部署后真机清单覆盖。
第二轮(真机回报后,BUG-1149~1150)
真机:采用后核对题仍挂在上一题下面;点任何选项都「这次没提交上」。本机真 PostgreSQL 17 + 真引擎重放虚构案例复现两处:
| 步骤 | 修前 | 修后 |
|---|---|---|
| 写采用轮次 | invalid input syntax for type uuid: "<uuid>:adopt"(被吞) |
写入 |
| 作答核对题 | agentic_rectification_stale_probe(schema probe:<键> ≠ 推断态 probe:<键>:<哈希>) |
applied: true,收尾句 |
同根问题:交付收尾补写轮次的 <id>:gate 请求号也不是 uuid,一并修。真机反映的「选中后旁白和卡片消失一会儿」本机无浏览器未复现;采用路径现在不再发只读续跑、收尾句能落库,待真机复测,复现则请录屏。
第二轮门禁(52495df7,基线 staging fa6d026f):tsc 0、lint 0 error、用例 4866(失败 24 条与 f1a169cb 基线逐条一致、cancelled 0;唯一「缺失」名为 c0f05912 改名)、/ ○ Static、首屏 gzip JS 555,642、镜像 COPY 布局构建通过;真库重放 8 条中可采用的 1 条:采用轮次写入、作答成功。