From b1d4796d30796638dcb35c1a2400872fd06dd62d Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Wed, 2 Sep 2026 16:49:31 +0800 Subject: [PATCH] fix(rectification): restore showActivity source lock for the staging gate Keep collect text on bubbleMessage but pass displayedMessage.state so the entry contract matches again. Co-authored-by: Cursor --- docs/BUG_HISTORY.md | 2 +- frontend/src/components/rectification-agentic-chat.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index e5d5a45f..14922bc3 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -7515,7 +7515,7 @@ - 触发条件:新 Case opening,`current_question.kind=collect_spoken`,GET 已有 prompt。 - 根因:BUG-487 把题干接到 `assistant_message` 并允许槽位兜底。直播正文仍可能只有打招呼(replace 未进客户端 raw、或 GET 后才有 current_question),于是 `showCollectSpokenPrompt` 把同一句画在图标下。用户要的是气泡正文,不是槽。 - 修复:不再渲染采集题槽。最新助手气泡按题干精确身份 `composeCollectSpokenAssistantText`;定稿与 snapshot 把组合文本写进该条消息状态,复制走组合文本。选择卡仍走问题槽。模型仍不自己提问,避免气泡里两句相近问法。不 bump Skill,不放宽确认门。 -- 验证:`rectification-spoken-collect` 锁气泡拼接、禁止 `rectification-question-slot__prompt`;既有 collect-prompt / v9-agent / regenerate / voice 锁保持。 +- 验证:`rectification-spoken-collect` 锁气泡拼接、禁止 `rectification-question-slot__prompt`;既有 collect-prompt / v9-agent / regenerate / voice 锁保持。staging 门禁 run 2304 因 `showActivity={bubbleMessage.state…}` 对不上 `rectification-agentic-entry` 源码锁失败;`showActivity` 改回 `displayedMessage.state`(气泡仍走 `bubbleMessage`),该文件与 spoken-collect 本地 52/52。 - 防复发:口述采集题干不得作为动作图标下的兄弟节点。不得用正文字符串判断「有没有问过」。不得同时让模型提问又拼接同一句服务端题干。 - 相关记录:BUG-471、BUG-485、BUG-487 - 复发自:BUG-487(服务端拼接后槽位兜底仍可见) diff --git a/frontend/src/components/rectification-agentic-chat.tsx b/frontend/src/components/rectification-agentic-chat.tsx index f53ff519..2e190dce 100644 --- a/frontend/src/components/rectification-agentic-chat.tsx +++ b/frontend/src/components/rectification-agentic-chat.tsx @@ -1189,7 +1189,7 @@ export function RectificationAgenticChat(props: RectificationAgenticChatProps) { {(!message.failed || Boolean(bubbleMessage.text) || regenerating) && ( )}