fix(web): keep career quality off the gate and let the agent write stems
Independent Staging Quality Gate / validate (push) Successful in 11m41s
Independent Staging Quality Gate / publish (push) Successful in 15m44s

Exam-quality cards may still jump ahead of adoption, but career years stay on method rotation. Server stamps only period and family; spoken questions remain model-authored.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-26 12:39:05 +08:00
parent 7416e02fa9
commit 7718317d69
14 changed files with 435 additions and 46 deletions
+48
View File
@@ -5691,6 +5691,54 @@
- 复发自:BUG-384(口语问发挥质量,点选卡却被冲突探针占住;采用门修好后变成完全没有卡)
- 修复版本:待发布
## BUG-390 | 事业经历未过采用门就出高考发挥点选卡
- 状态:resolved
- 首次发现:2026-08-26
- 最近更新:2026-08-26
- 影响面:`method_followup_plan``event_probes._quality_probes``choice-card` `event_quality`、GET `choice_card`
- 用户现象:记下同年实习入职和离职后,点选卡直接问「那年前后高考或重要考试有没有发挥明显失常」。采用门仍是 2 件/1 领域,方法层感情还没问。
- 触发条件:账本只有事业可评分事件,不足 3 件或不足 2 个领域;引擎把该年事业写成 `known_event_quality`
- 根因:BUG-389 让 `known_event_quality` 在采用门前插队并盖戳。Python `_quality_probes` 对每个已记领域都发质量探针,事业的 `quality_family` 与存在性相同。`choice-card` 又把所有 `event_quality` 写成高考发挥题,事业探针被盖成考试卡。
- 修复:质量探针只对学业(`QUALITY_HINTS`)发出。Followup 只让学业质量卡在采用门前插队;事业质量探针继续走方法轮换。点选题干不再套高考句,也不再回退「有没有明显…」存在性模板;服务器只锁 `period · family`。dasha 冲突探针仍等 3 件/2 领域。不改 Skill `10.0.11`,不打开 `confirmation_allowed`
- 验证:`frontend/tests/rectification-eight-method.test.ts``frontend/tests/rectification-choice-card.test.ts``tests/test_rectification_event_probes.py`
- 防复发:不得把非学业 `known_event_quality` 写成采用门前点选卡。不得把高考发挥题干套到事业/感情探针。不得把存在性「有没有明显…」句当成用户可见题干。不得把 `occupation_note` 算进 3 件。
- 相关记录:BUG-351、BUG-386、BUG-389
- 复发自:BUG-389(学业发挥质量卡免检插队后,事业年也被当成发挥质量并套用高考题干)
- 修复版本:待发布
## BUG-391 | 生时纠正点选题干走模板,Agent 自己写的问句被丢掉
- 状态:resolved
- 首次发现:2026-08-26
- 最近更新:2026-08-26
- 影响面:`bindSpokenToOpenQuestion``agentic-rectification` 系统提示、`choice-card` `event_quality`、GET `choice_card`
- 用户现象:记下事业经历后,界面和口语都问「那年前后高考或重要考试有没有发挥失常」。Agent 即使按探针写了入职问句,运行器也会丢掉,改贴服务器模板。
- 触发条件:工具返回了 `open_question.prompt`;模型正文里另有一句问句。
- 根因:BUG-384 为了对齐点选卡,把已盖戳题干当成唯一追问,`bindSpokenToOpenQuestion` 删除所有带问号的模型句。`event_quality` 又把所有发挥质量卡写成高考题。系统提示要求「不要另写追问」。
- 修复:年份和事件家族仍由探针锁定,A/B/C/D 仍由服务器出。Agent 自己写追问;问对年份且未改领域时保留原句,并盖到点选卡题干。服务器只持久化 `period · family` 锁,不代写「有没有明显…」题干;问错时只留应答,不把锁贴进口语。发挥质量选项标签仅学业用失常档。不改 Skill `10.0.11`,不打开 `confirmation_allowed`
- 验证:`frontend/tests/rectification-v9-stream.test.ts``frontend/tests/rectification-v9-agent.test.ts``frontend/tests/rectification-choice-card.test.ts``frontend/tests/rectification-eight-method.test.ts`
- 防复发:不得再要求模型只复读已持久化题干。不得把高考发挥句套到非学业探针。不得把存在性模板句当成用户可见题干。问错领域时不得把锁贴进口语。
- 相关记录:BUG-348、BUG-384、BUG-390
- 复发自:BUG-384(点选卡与口语句不一致时,改成强制模板,连对得上的 Agent 问句也丢掉)
- 修复版本:待发布
## BUG-392 | 生时纠正把存在性模板句当成用户题干
- 状态:resolved
- 首次发现:2026-08-26
- 最近更新:2026-08-26
- 影响面:`choice-card` `eventHypothesis``bindSpokenToOpenQuestion``persistServerOwnedFocus`、GET `choice_card`
- 用户现象:点选卡和口语仍是「那年前后,有没有明显入职…」或高考发挥句。用户要求 Agent 自己出题,服务器只锁年份和事件家族。
- 触发条件:工具盖戳 `open_question.prompt` 后,GET 或运行器把已落盘 copy 当作用户可见题干。
- 根因:`eventHypothesis` 把锁写成 `${period},有没有明显${family}``persistServerOwnedFocus` 在 Agent 开口前盖这句。`bindSpokenToOpenQuestion` 在模型没问或问错时把这句贴进口语。
- 修复:事件卡只持久化 `period · family`。Agent 写追问;问对则口语和点选卡都用该句。问错或超时只留应答/`记下了。`,不把锁当问句。旧库里带问号的题干仍可作最后兜底。不改 Skill `10.0.11`,不打开 `confirmation_allowed`
- 验证:`frontend/tests/rectification-choice-card.test.ts``frontend/tests/rectification-v9-stream.test.ts`
- 防复发:不得把「有没有明显…」或高考发挥句写成 `serverOwnedChoiceCopy.prompt`。不得把无问号的锁贴进 `answerText`
- 相关记录:BUG-348、BUG-384、BUG-391
- 复发自:BUG-391(保留 Agent 问句后,仍用存在性模板句当服务器兜底题干)
- 修复版本:待发布
## BUG-379 | 生时纠正已记入学后仍编造高考年并再问入学
- 状态:resolved