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

45 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 采用后已有调用路径,未跑;部署后真机清单覆盖。