fix(web): persist C/D rectification answers without waiting for rescore
Choice C/D without new evidence never changed the candidate posterior until the next dated-event rescore, and persist-v2 would cache-hit on the same evidence fingerprint. Patch the latest decision_receipt.inference_state in place so the next follow-up sees the asked split immediately. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5482,3 +5482,20 @@
|
||||
- 相关记录:BUG-348、BUG-349、BUG-350、BUG-351
|
||||
- 复发自:BUG-351(冲突探针插队挡出牌后,质量探针占槽、职业 draft 永不覆盖,覆盖已齐时仍不收口)
|
||||
- 修复版本:`75dbab08`
|
||||
|
||||
## BUG-362 | 生时纠正持续提问但不更新候选后验,无法收敛
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-08-23
|
||||
- 最近更新:2026-08-23
|
||||
- 影响面:`rectification-agentic/core`、`method_followup_plan`、`discriminating_event_probes`、`rectification-v9-tools`、decision receipt `inference_state`
|
||||
- 用户现象:纠正会话一直在收集经历并提问,但候选时间不固定、不淘汰,轮次增加后仍给不出可信区间或代表性时间。覆盖齐后低信息探针不再挡出牌,高信息未答探针仍可能挡出牌。
|
||||
- 触发条件:出生时间范围为若干分钟;已有带日期事件;引擎给出多枚候选;Agent 继续用自然语言追问。
|
||||
- 根因:收集、提问、打分和收口都挤在对话 Agent 里。没有版本化候选集、事件×候选评分账本、由候选差异算出的探针,也没有统一收敛评估。Prompt 要求“提出冲突问题”并不更新后验;职业/领域覆盖被误当成收敛。
|
||||
- 修复:新增服务端推断状态机:固定 `candidate_set_id`、事件分层 holdout、等价分钟聚类、纯函数 `applyProbeOutcome`、按信息增益选探针、统一 `evaluateConvergence`。分数只由 reducer 更新。Python 探针带 `information_gain` / `expected_outcomes`;followup 只改写程序给出的探针。decision receipt 持久化 `inference_state`。点选 C/D/B 且没有新证据时,`rectification-resolve-focus` 当场把后验写入最新 result 的 `inference_state`,不再等下一次带日期事件重算。高信息未答探针在覆盖齐后仍可挡出牌;无 `information_gain` 的旧探针保持 BUG-361 不挡出牌。无法区分时返回可信区间,最大轮次不是 `converged`。
|
||||
- 验证:`frontend/tests/rectification-inference-machine.test.ts` 锁定有效回答降低熵、淘汰不可复活、重复切分禁用、最大轮次≠成功、等价分钟返回区间、holdout 不参与训练、赢家需两轮稳定、C 无新证据立刻更新后验、D 只记录已问切分、盘外核对与收集拒答不写探针;`frontend/tests/rectification-v10-conversation-focus.test.ts` 锁定 resolve-focus C 走 `patch_agentic_rectification_inference_state` 而不是候选缓存;`frontend/tests/rectification-eight-method.test.ts` 锁定同领域不同年份仍问冲突探针、高信息探针覆盖后仍挡出牌、无增益探针覆盖后不挡出牌。
|
||||
- 防复发:禁止 Agent 直接改候选分数或宣布收敛。禁止把方法覆盖或职业笔记当成 `result_status=converged`。同一 `semantic_key` / `candidate_split_hash` 不得连问。淘汰候选不得在同一 `candidate_set_id` 复活。最大轮次只能是 `max_rounds_reached`。点选 C/D/B 且没有新证据时必须走 `patch_agentic_rectification_inference_state` 当场写入 `decision_receipt.inference_state`,禁止走候选 persist RPC 的证据指纹缓存。盘外核对与收集阶段拒答不得写探针。下一轮 followup 必须读已答切分,避免把同一探针再问一遍。不得改已哈希 Skill `10.0.11`。
|
||||
- 相关记录:BUG-361、BUG-351
|
||||
- 复发自:BUG-361(覆盖门槛和出牌行为修了,但仍没有候选后验更新闭环)
|
||||
- 修复版本:待发布
|
||||
|
||||
|
||||
Reference in New Issue
Block a user