Files
Jyotisha/docs/tasks/PROGRESS-rectification-post-adopt-card-20261001.md
T
Jesse_ChenandClaude Opus 5.5 282455cc83
Independent Staging Quality Gate / validate (push) Successful in 13m59s
Independent Staging Quality Gate / publish (push) Successful in 3m49s
fix(rectification): post-adopt check gets its own message and keeps its buttons; segment bubble copy (BUG-1146, BUG-1147)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-01 16:59:32 +08:00

2.6 KiB
Raw Blame History

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:<key> 对不上,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 采用后已有调用路径,未跑;部署后真机清单覆盖。