fix(rectification): stop speaking unstampable distinguish stems (BUG-674/675)
Independent Staging Quality Gate / validate (push) Failing after 20s
Independent Staging Quality Gate / publish (push) Skipped

Distinguish followups that cannot stamp a probe now go to persistExhaustionCollect instead of repeating the card stem in the assistant body. Choice focuses without asked_turn_id hang on the last assistant turn, and persisted_question with a live choice_card renders the existing card. Representative-time inconsistency is warn-only (BUG-676 investigating).
This commit is contained in:
jesse-ux
2026-09-14 03:42:48 +08:00
parent 9375012f17
commit 69ffa07d6b
16 changed files with 887 additions and 46 deletions
@@ -0,0 +1,23 @@
# 进度 · 探针耗尽、裸题与代表时间(2026-09-14)
## 范围
- 分支:`codex/rectification-unstampable-probe-20260914`(基于 `origin/staging` @ `9375012f`
- 任务单:`docs/tasks/TASK-rectification-unstampable-probe-and-naked-card-20260914.md`
- BUG-674 / BUG-675 resolvedBUG-676 investigating
- 上一单 D3 已在任务书里标注推翻
## 完成
- T1`persistNextInterviewAfterChoice` 尾部对判别题改走 `persistExhaustionCollect`;采集题保留题干进正文,但与上一条助手消息相同则去重。
- T2`attachQuestionsToTurns` 把无 `asked_turn_id` 的活动选择题挂到最后一条助手消息;`persisted_question` 有卡时渲染既有 `RectificationChoiceCard`
- T3`warnRepresentativeTimeInconsistency`,不改排序。
- T4BUG_HISTORY、CHANGELOG、真机清单。
## 验收数字
- `./node_modules/.bin/tsc --noEmit`0 错
- `npm run lint`0 error120 warning,与基线同类,无新增 error)
- 相关单测 93/93`rectification-unstampable-probe-20260914.test.ts` 8/8,加上 collect-prompt / question-in-message / surface-state / targeted-spoken / targeted-card-live / answer-choice
- `npm test`2985 tests2818 pass / 153 fail / 14 skip。失败项是本机 Windows 基线(Caddy/CRLF、Docker、bash、workflow YAML、Skill SHA),新增用例均绿,没有新的校正产品失败
- `next build`:本工作树 `frontend/node_modules` 是 junctionTurbopack 拒绝软链;`--webpack` 编译成功后在收集 page data 时因本机 Skill 10.0.26 SHA 与 registry 不一致失败(环境问题,未改 skill 包)。`/` 是否仍 `○ Static` 需在有真实 `node_modules` 且 skill 哈希匹配的树上复核