fix(rectification): require three answers before uncertainty stop
One "一时说不好" no longer ends the interview. Plateau streaks use the same sample floor. Delivery copy states why the range stopped. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -7745,3 +7745,19 @@
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-503 | 一道题选「一时说不好」就交付
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-03
|
||||
- 最近更新:2026-09-03
|
||||
- 影响面:`uncertaintyHighFromAnswers`、`decisionBudgetFromInference`、`composeChoiceNarration`、`publicNextAction`、`user-copy`
|
||||
- 用户现象:整场只收到一道选择题,选 D「一时说不好」后直接交付几十分钟区间;旁白还说「更新了候选比较」。
|
||||
- 触发条件:`classified_from=choice` 的用户答题数为 1,`answer_class=unsure`。连续两道 D 也会因 `maxPlateauRounds=2` 交付。
|
||||
- 根因:`uncertaintyHighFromAnswers` 没有样本下限,1 答即 `1 >= ceil(1/2)`。`applyProbeOutcome` 把 unsure 记成 `low_information`,平台期从第一道就开始计数。上游 Stop Rule 是「样本够多且大半答不上来」,实现成了任意一道答不上来。
|
||||
- 修复:`references/rectification_policy.v1.json` 增加 `minUncertaintyAnswers: 3`。不足 3 答不停。达到下限后仍用「≥ 一半」判定。平台期在 `decisionBudgetFromInference` 用同一下限才统计连续 `low_information`,`maxPlateauRounds` 仍为 2。unsure 旁白改为「已记录。这题先不计分,换一件事问。」`appliedInference` 仍持久化。交付话术在进度句前说明 `user_uncertainty_too_high` / `tied_first`。`publicNextAction` 只读暴露 `stop_reason`。用户主动「先这样」仍立即交付。
|
||||
- 验证:`rectification-convergence-budget` 1 答不停且继续出区分题;3 答 2 unsure 停;4 答 2 unsure 停;2 答连续 unsure 不因平台期停,5 答后连续 2 道 unsure 停。`rectification-answer-choice` unsure 旁白与 §0 形状(答 D 持久化下一问、不采用)。`agent-voice-copy-contract` 锁停止原因文案。
|
||||
- 防复发:不确定度停止必须先过 `minUncertaintyAnswers`。该数字只在 `references/rectification_policy.v1.json` 定义。不得把 `maxPlateauRounds` / 8 轮 / 10 答外层熔断改掉。不得用题干字符串反推停止原因。
|
||||
- 相关记录:BUG-463
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
|
||||
Reference in New Issue
Block a user