fix(rectification): invite-first collect, holdout at 4 events, Skill 10.0.23 (BUG-646–648)
Stop domain-wheel collecting and age-band years in prompts. Ask until the training gate, then discriminate until convergence, then deliver a range plus a concrete follow-up. Reserve holdout only with four dated events. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10036,3 +10036,51 @@
|
||||
- 相关记录:BUG-644、BUG-626、BUG-627
|
||||
- 复发自:无
|
||||
- 修复版本:`a3a51c32`
|
||||
|
||||
## BUG-646 | 采集穷尽后无下一问,却显示「没有拿到下一个问题」并说做不了
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-10
|
||||
- 最近更新:2026-09-10
|
||||
- 影响面:`persistExhaustionCollect`、收集问题池、`rectificationQuestionGapState`、Skill 10.0.23
|
||||
- 用户现象:各领域采集都答完或只有一两件带年月经历时,助手停在门槛句或交付口吻,下面是「没有拿到下一个问题。」,没有结果卡,也没有可继续说的入口。
|
||||
- 触发条件:训练门仍关且收集池已空;或训练门已开、选择题增益见底。
|
||||
- 根因:穷尽出口只写「还差 N 件,领域不限」且不落焦点。客户端把「无焦点 + 列表成功」当成问题加载失败。产品不允许「做不了」,也不允许固定题数。
|
||||
- 修复:训练门关且池空时只写精确缺口句,Case 保持开放,占位「再说一件带年月的事」,客户端进入 `collect_waiting`,不显示「没有拿到下一个问题」。训练门开且增益见底时交付区间卡加一句具体「再补什么」。Skill 升 10.0.23。
|
||||
- 验证:`rectification-exhaustion-exit-20260906.test.ts`、`rectification-surface-state.test.ts`、`rectification-collection-question-pool.test.ts`。
|
||||
- 防复发:训练门关不得出卡、不得出现禁词;无焦点且训练门关不得走 `unavailable`。
|
||||
- 相关记录:BUG-558、BUG-627、BUG-645、BUG-647、BUG-648
|
||||
- 复发自:BUG-558(关顶不落焦点)
|
||||
- 修复版本:待提交
|
||||
|
||||
## BUG-647 | 恰好三件带月经历时一件被留作 holdout,训练门永远差一件
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-10
|
||||
- 最近更新:2026-09-10
|
||||
- 影响面:`split-holdout.ts`、`scripts/rectification/case_holdout.py`、`trainingScoreableGate`、验证报告 Real Case Calibration 行
|
||||
- 用户现象:按要求给了三件带年月经历,仍到不了选择题,看起来像还差一件。
|
||||
- 触发条件:带月事件恰好 3 件、2 个种类;旧规则从第 2 件起就留 holdout。
|
||||
- 根因:`MIN_EVENTS_TO_RESERVE_HOLDOUT=2`,3 件里留 1 件后训练只剩 2,达不到 `MIN_ACCEPTANCE_EVENTS=3`。
|
||||
- 修复:≥4 件才留 1 件 holdout;恰好 3 件全部训练。回执 `holdout.status="not_reserved_min_events"`,报告 Real Case Calibration 写 `not reserved`。确认门与引擎计分不变。
|
||||
- 验证:`rectification-split-holdout.test.ts`、`tests/test_candidate_discriminator_contract.py`。
|
||||
- 防复发:3 件必须全进训练;4 件才允许 holdout。
|
||||
- 相关记录:BUG-646、BUG-648
|
||||
- 复发自:无
|
||||
- 修复版本:待提交
|
||||
|
||||
## BUG-648 | 开场后按领域轮转盘问,题干年份来自生日而不是用户说过的事
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-10
|
||||
- 最近更新:2026-09-10
|
||||
- 影响面:`collection-question-pool.ts`、`method-followup.ts`、`user-copy.ts`、Skill 10.0.23
|
||||
- 用户现象:刚说完一两件,系统立刻按家人/学业/财务轮着问,题干还带着「2020 年前后」这类不是用户说的年份。
|
||||
- 触发条件:开场写入第一件带年月经历后,`DATED_COLLECT_ORDER` 与 `COLLECT_QUESTION_YEAR_CUE`(年龄段中点)生效。
|
||||
- 根因:采集顺序按方法覆盖轮转,年份线索来自出生年+典型年龄段。这是上午写进 BUG-642 的口径,产品已撤回。
|
||||
- 修复:收集池按信息价值排序:邀请「还有吗」→ 用户年份锚定追问 → 无年份通用补问。题干不得出现年龄段年份。邀请拒答不把整个 `other` 列入禁问。
|
||||
- 验证:`rectification-spoken-collect.test.ts`、`rectification-collection-question-pool.test.ts`、`agent-voice-copy-contract.test.ts`。
|
||||
- 防复发:`user-copy.ts` 不得再出现无用户年份的「年前后」;邀请在产出期间必须排第一。
|
||||
- 相关记录:BUG-642、BUG-546、BUG-641、BUG-646
|
||||
- 复发自:BUG-642(年份线索口径错误)
|
||||
- 修复版本:待提交
|
||||
|
||||
Reference in New Issue
Block a user