fix(rectification): simplify delivery card and guard double turns (BUG-595, BUG-596)
Independent Staging Quality Gate / validate (push) Successful in 25m9s
Independent Staging Quality Gate / publish (push) Successful in 37m19s

Make the range card row-select, drop the composer 先这样 control and adopt status bar, keep delivery copy to three sentences with a folded verification report, and skip a second no-message agent run after a terminal delivery turn.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-08 19:56:48 +08:00
co-authored by Cursor
parent 6368ebba0f
commit 7e3b6cdc7a
60 changed files with 1561 additions and 1105 deletions
+32
View File
@@ -9222,3 +9222,35 @@
- 复发自:BUG-587(任务书决策 2 定错;重放定义已在,结论层把新分钟放生)
- 修复版本:待发布(`codex/rectification-new-minute-inherit-20260908`
## BUG-595 | 交付面四个按钮、输入框「先这样」和采用状态条把界面撑乱
- 状态:resolved
- 首次发现:2026-09-08
- 最近更新:2026-09-08
- 影响面:`rectification-range-delivery.tsx``rectification-agentic-chat.tsx``user-copy.ts``divergence-panel.ts`、Skill 10.0.17
- 用户现象:区间卡下面四个动作(分歧两列、「都不像」「说不好」、「按这个范围用」「再补一件经历」);输入框上方一直挂「先这样,先看当前范围」;采用后另有一条状态条。交付正文是长篇八法 markdown,表格在气泡里摊成纯文本。
- 触发条件:访谈收口出区间交付卡;采用代表性分钟。
- 根因:`TASK-rectification-range-delivery-card-20260907.md` 把交付对象做成「两个动作 + 分歧面板」,DESIGN 又在口述采集上方放先这样。产品决定推翻该设计。
- 修复:卡片改为按候选分钟逐行点选采用。删分歧列、四个按钮、composer「先这样」、composer-meta、采用状态条。交付正文三句;八法报告进默认收起的「查看验证报告」。没有核对题时 `postAdoptVerifyDone` 改成「已采用 HH:MM,新建对话即按这个时间排盘。」Skill 10.0.17。
- 验证:`frontend/tests/rectification-range-delivery-20260907.test.ts` 行选 DOM`frontend/tests/rectification-delivery-ui-simplify-20260908.test.ts` 三句旁白、折叠块、composer-wrap 无先这样/状态条。任务书 TS 切片 1039/1039。
- 防复发:交付卡 `button` 数必须等于候选行数;composer-wrap 不得再出现 `CHOICE_STOP_LABEL``rectification-adopt-status`
- 相关记录:BUG-544、BUG-545、BUG-558、BUG-583
- 复发自:无
- 修复版本:待发布(`codex/rectification-delivery-ui-simplify-20260908`
## BUG-596 | 交付轮连续写出两条助手消息
- 状态:mitigated(触发链仍 `investigating`
- 首次发现:2026-09-08
- 最近更新:2026-09-08
- 影响面:`persistNextInterviewIfIdle``persistExhaustionGateTurn``runV9AgentTurn``finalizeSuccessfulTurnExit`、客户端 `send("opening")``regenerate`
- 用户现象:职业答完后出现两条助手消息。第一条已写摘要;第二条又把完整八法报告写一遍。中间没有用户输入。
- 触发条件:出牌/穷尽路径 `persistNextInterviewIfIdle` 返回 `terminalNote` 后,同一 Case 在无用户消息时再跑一轮 agent。
- 根因:未知。已在四条路上打 `rectification_delivery_turn` 日志。`runV9AgentTurn``latestResult.resultId` 未变的 60 秒窗口内,对无用户消息的第二次运行返回 `already_delivered`,不计费、不写 turn。agent-run 与 turn-exit 对齐:已有 `askedTurnId` 时不再 `persistExhaustionGateTurn`
- 修复:日志 + `already_delivered` 守卫。
- 验证:`frontend/tests/rectification-delivery-ui-simplify-20260908.test.ts` mock 两次连续无消息运行,第二次 `already_delivered`。任务书 TS 切片 1039/1039。
- 防复发:交付后无用户消息不得再开一轮计费 turn。
- 相关记录:BUG-462、BUG-565
- 复发自:无
- 修复版本:待发布(`codex/rectification-delivery-ui-simplify-20260908`