fix(web): restore rectification discriminator cards and stop-offer path
Coverage-complete ties never persisted A/B/C/D because contrast probes were stamped with an answered education quality probe, remaining minutes were asked as window D10 signs, and 「没有了」 missed the stop pattern. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5531,6 +5531,38 @@
|
||||
- 复发自:无
|
||||
- 修复版本:未修复
|
||||
|
||||
## BUG-375 | 生时纠正分不开时 A/B/C/D 出不来,职业回答不计分,「没有了」不停问
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-08-25
|
||||
- 最近更新:2026-08-25
|
||||
- 影响面:`persistServerOwnedFocus`、`stampChoiceSchemaWithProbe`、GET `/api/rectification/cases/[caseId]` `choice_card`、`candidate-contrast-packet`、`event_probes.py`、`answersFromEvidence`、`latestUserStoppedCollecting`
|
||||
- 用户现象:覆盖已齐、候选仍并列且 `selection_allowed` 已开,点选卡一直是空。Agent 反复用自然语言问已答过的职责倾向。用户说「没有了」后仍继续问,没有出示并列区间。
|
||||
- 触发条件:剩余候选已落在同一段 D10;窗口扫描真正切开的是 D24。引擎探针只剩已答的教育质量题。职业回答写成 `occupation_note`,不计分。
|
||||
- 根因:(1) `stampChoiceSchemaWithProbe` 用引擎最高增益探针盖 schema,把对比探针换成已答教育题;`event_probe` 缺 `probe_id` 时被当成已答,不建焦点。GET 投影不传 `contrastPacket` / `userStopped`。(2) 对比探针按整窗 D10 星座建题,`supportsCandidateIds` 是星座名不是分钟;`askedKeys` 不含自然语言答过的职责倾向。(3) 质量探针先占领域,挡住 dasha 年界;代表对取整窗第一次换升。`answersFromEvidence` 把同年入学当成考试失常。(4) 停问词匹配不到「没有了」。
|
||||
- 修复:对比探针用自己的 `semantic_key` 盖戳,缺引擎 `probe_id` 时仍建焦点;GET 与工具侧同一套 plan 输入。剩余候选按 D24/D10 分钟切开;职责倾向记入 `askedKeys`。质量探针不得挡住 dasha;代表对取当前候选集。入学不再自动回答质量探针。停问词加上「没有了」等,停问且可出牌时出并列区间。不把 `occupation_note` 改成主评分事件,不打开 `confirmation_allowed`,不改 Skill `10.0.11`。
|
||||
- 验证:`rectification-spoken-answer`、`rectification-server-focus`、`rectification-choice-card`、`rectification-decide-next-action`、`rectification-eight-method`、`rectification-inference-machine`、`tests/test_rectification_event_probes.py`。
|
||||
- 防复发:覆盖已齐且候选并列时必须落 A/B/C/D;对比探针的 `supports/conflicts` 必须是剩余候选分钟。点选必须改后验。停问且可出牌时走 `offer_provisional_range`,不得再问已答职责题。
|
||||
- 相关记录:BUG-348、BUG-350、BUG-351、BUG-366、BUG-373、BUG-374
|
||||
- 复发自:BUG-348 / BUG-366(区分卡与覆盖≠收敛已写过,焦点持久化和剩余候选切开未接到这条会话)
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-374 | 生时纠正规划句再次漏进正文:candidate_contrast_packet / 这意味着
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-08-25
|
||||
- 最近更新:2026-08-25
|
||||
- 影响面:`POST /api/rectification/agent`、`splitRectificationSpokenAndThinking`、已落盘 Turn
|
||||
- 用户现象:方法覆盖已齐后,回复气泡先出现「这意味着:方法资料已齐」「服务器给了 candidate_contrast_packet」「第 7 条边界 / 不得 offer」等规划句,然后才是对用户的追问。
|
||||
- 触发条件:纠正组 `thinking: disabled`;模型把内部规划写进 `text-delta`。句式不在 BUG-373 漏检网里;`\bcandidate_contrast\b` 匹配不到 `candidate_contrast_packet`。
|
||||
- 根因:漏检网只覆盖了上一轮已见的方法覆盖 / occupation_note / 本轮对照了。新规划句复制了 `candidate_contrast_packet`、`choice_frame` 和「这意味着 / 服务器给了 / 不得 offer / 第 N 条边界」。
|
||||
- 修复:漏检网补上这些句式与 `candidate_contrast(?:_packet)?`。混有规划和对用户提问时只留口语。不重开 provider thinking,不改已哈希 Skill `10.0.11`。
|
||||
- 验证:`frontend/tests/rectification-spoken-answer.test.ts` 锁定规划段进思考、口语追问保留;`candidate_contrast_packet` 不得出现在 spoken。
|
||||
- 防复发:thinking 关闭时漏检网必须覆盖服务器字段名和新的中文规划句,不能只认上一轮的 `occupation_note` / `本轮对照了`。对用户说话的追问不得被一起丢掉。
|
||||
- 相关记录:BUG-357、BUG-368、BUG-373
|
||||
- 复发自:BUG-373(关 thinking 后用正则从正文切思考;句式换了就漏)
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-373 | 生时纠正把中文过程自述当成回答,工具完成标签和 occupation_note 漏进正文
|
||||
|
||||
- 状态:resolved
|
||||
|
||||
Reference in New Issue
Block a user