fix(rectification): ask remaining split lines one card at a time (BUG-661~663)
Dated-pool empty now yields existence cards per remaining layer, leftover-candidate copy, and an optional D9/D10 tie-break on the range card. Skill 10.0.25. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10276,3 +10276,51 @@
|
||||
- 相关记录:BUG-633、BUG-650、BUG-659
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-661 | 定向补事必须逐条点选,不得一道口述堆所有剩余线
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-13
|
||||
- 最近更新:2026-09-13
|
||||
- 影响面:`targetedCollectPool`、`targetedCollectFollowup`、`answer-choice.ts` 存在题分支、`persistExhaustionCollect`
|
||||
- 用户现象:六道带年月题答完、引擎刷新无新题后,落下一条口述题把结婚、收入、搬家、添丁全堆在一句里,没有可点的选项。
|
||||
- 触发条件:训练门已开、带年月池空、刷新 `no_new_probes`、仍有未覆盖的剩余换升层。
|
||||
- 根因:`targetedCollectFollowup` 把剩余层合成一道口述题;「没有」被当成整池结束,而不是只关掉当前那条线。
|
||||
- 修复:按剩余层一次出一张存在题卡(有过这件事 / 没有发生过 / 记不太清楚 / 这条先跳过,`scoring:false`)。A 再问「大概哪年几月?」;B 该线 declined;C/D skipped。年月答完走既有 batch 写证据并重算。所有剩余线问完才出「目前范围」。
|
||||
- 验证:`frontend/tests/rectification-targeted-collect-cards-20260913.test.ts`;`rectification-probe-pool-exhausted-20260911.test.ts` 第六题后 `choiceReady` 且题干为「结过婚或订过婚吗?」;四条都 B 才出范围卡。
|
||||
- 防复发:定向补事存在题必须是 `choice_frame` 且 `scoring:false`;不得把多条剩余线合成一道口述题。性格题不得因此回到计分池(BUG-629)。
|
||||
- 相关记录:BUG-654、BUG-656、BUG-662、BUG-663
|
||||
- 复发自:BUG-654(交付前定向补事做成了一道开放口述)
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-662 | 定向补事与范围提示不得写范围两端钟点
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-13
|
||||
- 最近更新:2026-09-13
|
||||
- 影响面:`remainingCandidatesLine`、`rangeNarrowHint`、`agent-voice-copy-contract`
|
||||
- 用户现象:提示写成「能把 04:51 和 05:06 分开」,读起来像在比较范围两端,而不是还剩几个候选。
|
||||
- 触发条件:定向补事或「目前范围」卡下提示需要说明还能切开剩余候选的线。
|
||||
- 根因:`rangeNarrowHint` 用 split 两端钟点当主语。
|
||||
- 修复:改写为「现在还剩 HH:MM–HH:MM 里 N 个候选,能把它们分开的是这几条线:…」;保留「还能再收窄:如果记得…」。合同加禁词「能把 HH:MM 和 HH:MM 分开」。
|
||||
- 验证:`frontend/tests/agent-voice-copy-contract.test.ts`;`rectification-targeted-collect-cards-20260913.test.ts` 剩余候选句。
|
||||
- 防复发:用户可见文案不得出现「能把两端钟点分开」句式;剩余候选句不得当作存在题题干。
|
||||
- 相关记录:BUG-654、BUG-661
|
||||
- 复发自:BUG-654(定向补事举例时带上了范围端点)
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-663 | 「目前范围」卡下可点「再答两道参考题微调排序」
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-09-13
|
||||
- 最近更新:2026-09-13
|
||||
- 影响面:`rectification-range-delivery.tsx`、`tieBreakPersonalityFollowup`、`POST /api/rectification/cases/[caseId]/tie-break`
|
||||
- 用户现象:带年月题和定向补事问完后,用户没有入口去答 D9/D10 参考题微调排序;若自动出性格题又会挡住结果。
|
||||
- 触发条件:已交付「目前范围」卡,候选仍分不开,用户想微调头名排序。
|
||||
- 根因:BUG-629 把性格题移出计分池后,没有产品入口可选择再答;自动出牌会挡住结果卡。
|
||||
- 修复:卡下可选按钮「再答两道参考题微调排序」。点了才走 `tie_break` 落 D9/D10 `varga_style`(±1、不淘汰、不改 `can_adopt`)。不点不出。
|
||||
- 验证:`frontend/tests/rectification-targeted-collect-cards-20260913.test.ts` 不点不出;入口文案进 `listUserVisibleCopy()`。
|
||||
- 防复发:性格题不得在定向补事之前或未点入口时成为下一问;`SCORE_DELTA` 与淘汰阈值不得被这条路径改掉。
|
||||
- 相关记录:BUG-629、BUG-651、BUG-661
|
||||
- 复发自:BUG-629(性格题降权后没有可选入口)
|
||||
- 修复版本:待发布
|
||||
|
||||
@@ -1124,3 +1124,11 @@
|
||||
- 合计 **2427 ≥ 2424**。
|
||||
- 实测:无登录态,未做浏览器里断网保存、云端删除后刷新、双 profile 置顶一致性、localStorage 键审计。由合同测试覆盖。浅色/深色:新文案「保存失败,请重试」「未能存入历史」「星盘库暂时无法读取,请重试。」走既有 sonner,`失败`/`未能`/`无法` 命中 `failedNotice` 用 error 语气,颜色仍是 `--color-canvas` / `--color-ink`。
|
||||
- 未提交、未推送。
|
||||
## 2026-09-13 - TASK-rectification-targeted-collect-cards:定向补事逐条点选
|
||||
|
||||
- 带年月池空且刷新无新题后,定向补事改为一次一条存在题卡(有 / 没有 / 记不清 / 先跳过,不计分);答「有」再口述年月。
|
||||
- 提示写「现在还剩 HH:MM–HH:MM 里 N 个候选」,禁止「能把两端钟点分开」。全部线问完才出「目前范围」。
|
||||
- 「目前范围」卡下可选「再答两道参考题微调排序」,点了才出 D9/D10 `tie_break`。
|
||||
- Skill 10.0.24 → 10.0.25;旧包哈希 `f4267cb93b459a84ec0006b51501b174d5bbc809b571168307affbaede22e4e7` 保持 deprecated。
|
||||
- BUG-661 / BUG-662 / BUG-663。未 commit。
|
||||
- 本机:`tsc --noEmit` 0 错;`lint` 0 error;`next build --webpack` 后 `/` 仍 Static;定向补事与主链 TAP fail=0;数据库套件单独 7/7。未做登录态场景 0d。
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# 进度 · 定向补事改成逐条点选卡 + 文案 + 参考题入口(2026-09-13)
|
||||
|
||||
## 范围
|
||||
|
||||
- 分支:`codex/rectification-targeted-collect-cards-20260913`(快进含 `origin/staging` @ `b063c668` 研究测量;未混入 R3/R4 引擎放宽)
|
||||
- 任务单:`docs/tasks/TASK-rectification-targeted-collect-cards-20260913.md`
|
||||
- 产品决策:A + D,顺带 C;B 不混入(研究单另走)
|
||||
- BUG-661:定向补事一次一条存在题卡
|
||||
- BUG-662:文案写剩余范围 + 候选个数,禁「能把两端钟点分开」
|
||||
- BUG-663:范围卡下「再答两道参考题微调排序」
|
||||
- Skill 10.0.24 → 10.0.25
|
||||
- 不改 `SCORE_DELTA`、`MIN_ACCEPTANCE_*`、确认门;性格题不得回计分池
|
||||
|
||||
## 完成
|
||||
|
||||
- T1 按剩余换升层出存在题卡;A 口述年月,B declined,C/D skipped;全部问完出「目前范围」
|
||||
- T2 `remainingCandidatesLine` / `rangeNarrowHint`;合同加 `SPLIT_ENDPOINT_PHRASE`
|
||||
- T3 范围卡入口走独立 `tie-break` 路由,落 D9/D10 `varga_style` `tie_break`;`tie_break_available` 读 `parseWindowScan` 或原始 `d9/d10_candidates_differ`(不把 planner 打进客户端包)
|
||||
- T4 Skill 10.0.25、registry(10.0.24 哈希 `f4267cb93b459a84…e4e7` 不变)、BUG-661~663、CHANGELOG、场景 0d
|
||||
- 为让 `next build` typecheck 通过,GET 快照投影从 `cases/[caseId]/route.ts` 挪到 `case-dossier-response.ts`(Next App Router 不允许 route 导出非 HTTP handler)
|
||||
|
||||
## 验收(本机,未部署)
|
||||
|
||||
- `./node_modules/.bin/tsc --noEmit`:0 错
|
||||
- `npm run lint`:0 error(120 warning,既有)
|
||||
- `next build --webpack`:编译 + TypeScript 通过;路由表 `┌ ○ /`(Static);新增 `ƒ /api/rectification/cases/[caseId]/tie-break`
|
||||
- TAP(fail=0):
|
||||
- 源切片 / 入口 / 定向补事:131
|
||||
- Skill / 合同 / 采集主链:271
|
||||
- 范围卡 / 门 / 交付:79(随后范围卡入口测 +1,该文件现 12 条全过)
|
||||
- `rectification-v9-database.test.ts` 单独:7/7(与 webpack 并行时曾出现 migration status=1 竞态)
|
||||
- Skill 10.0.25 哈希 `263ab00d5a62ee38dde1e13474b50a5e194e412b742d1693acaa9974db9f02e8`;10.0.24 仍可 exact-resolve
|
||||
- 未做登录态真机场景 0d(无本地会话)
|
||||
|
||||
## 未做
|
||||
|
||||
- 未 commit / 未 push
|
||||
- 未把研究单 B 的 R3/R4 引擎放宽混进本分支;测量结论是定向补事仍要保留
|
||||
- 已快进含 `b063c668`
|
||||
@@ -176,8 +176,9 @@
|
||||
| `TASK-rectification-targeted-collect-persist-fix-20260911.md` | `PROGRESS-rectification-targeted-collect-persist-fix-20260911.md` | 修复单:BUG-656 采集焦点 kind 映射到 CHECK 枚举;BUG-657 引擎刷新按 `column_times` 取剩余候选;BUG-658 刷新尝试持久化 + 等待收窄以已问过判定(512be9b7 让无新题时 GET 永远等待且每轮重调引擎) | 已实现 `eae049d0` + `529fcc09`,已部署;静态验收通过,真机六题流程待走 | `codex/rectification-targeted-collect-persist-fix-20260911` |
|
||||
| `TASK-rectification-set-focus-tool-failed-20260912.md` | `PROGRESS-rectification-set-focus-tool-failed-20260912.md` | 09-12 真机:记完两件学业后 `rectification-set-focus` 连续六次 `tool_failed`(兜底码,原始错误无处记录;焦点其实已由 batch 工具落下)、宿主兜底正文日期重复(BUG-659/660) | 待验收 | `codex/rectification-set-focus-tool-failed-20260912` |
|
||||
| `TASK-rectification-after-pool-empty-decision-20260913.md` | — | 决策单草案:六道带年月题问完、引擎刷新无新题后,定向补事是开放式口述题,体感死板。给出 A 逐条点选 / B 放宽引擎出题(先离线量收益)/ C 参考题可选入口 / D 文案 四个方案,建议 A+D(+C) | 已拍板 2026-09-13:A+D+C 进 `TASK-rectification-targeted-collect-cards-20260913.md`,B 进研究单 | — |
|
||||
| `TASK-rectification-targeted-collect-cards-20260913.md` | `PROGRESS-rectification-targeted-collect-cards-20260913.md` | 定向补事改逐条点选卡(有/没有/记不清 → 有则口述年月;没有不计分只防复问;全没有出卡)+ 文案说清剩余候选与线 + 卡下「再答两道参考题」入口(BUG-661~663,Skill 10.0.25) | 待执行 | `codex/rectification-targeted-collect-cards-20260913` |
|
||||
| `TASK-rectification-probe-supply-research-20260913.md` | — | 研究单:六题后引擎在剩余候选上再出带年月题的四种放宽规则,20 例公开 AA 数据离线量收益,有收益才立实现单 | 待执行(离线,不改线上) | `codex/rectification-probe-supply-research-20260913` |
|
||||
| `TASK-rectification-targeted-collect-cards-20260913.md` | `PROGRESS-rectification-targeted-collect-cards-20260913.md` | 定向补事改逐条点选卡(有/没有/记不清 → 有则口述年月;没有不计分只防复问;全没有出卡)+ 文案说清剩余候选与线 + 卡下「再答两道参考题」入口(BUG-661~663,Skill 10.0.25) | 待验收 | `codex/rectification-targeted-collect-cards-20260913` |
|
||||
| `TASK-rectification-probe-supply-research-20260913.md` | — | 研究单:六题后引擎在剩余候选上再出带年月题的四种放宽规则,20 例公开 AA 数据离线量收益,有收益才立实现单 | 已合入(离线测量,不改线上) | `b063c668` |
|
||||
| `TASK-rectification-refresh-r3-r4-20260913.md` | — | 刷新阶段 R3(MIN_BOUNDARY_DAYS 45→30)+ R4(pratyantar 与 D9/D10 上升 Narayana);首轮出题不变。即使放宽仍有 0 题例子,定向补事另线保留(BUG-664/665) | 待领取 | — |
|
||||
|
||||
## 命名与归档
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
期望:
|
||||
|
||||
- 第六题答完不得直接出卡;先出现新的带年月题(家人 / 财务 / 迁居等换运边界),或一条定向补事口述题
|
||||
- 第六题答完不得直接出卡;先出现新的带年月题(家人 / 财务 / 迁居等换运边界),或一张定向补事点选卡(先问有没有)
|
||||
- 刷新后若引擎给出新的带年月题,下一张卡必须真正出现;不得只是决策选中了探针、落库被拒后停在「没有拿到下一个问题」
|
||||
- 答一件家人事后应重算并回到带年月题;答「没有了 / 就这些」后才出卡
|
||||
- 卡片标题为「目前范围 …(对照了 N 件经历)」,卡下有「还能再收窄:如果记得 …」
|
||||
@@ -41,13 +41,27 @@
|
||||
|
||||
期望:
|
||||
|
||||
- 第六题答完必须看到定向补事口述题(例如「还有 N 条线能把两端分开」);题干种类必须能写入焦点表,不得静默失败
|
||||
- 第六题答完必须看到定向补事点选卡(例如「结过婚或订过婚吗?」);旁白写剩余范围和候选个数,不得写「能把两端钟点分开」;题干种类必须能写入焦点表,不得静默失败
|
||||
- 引擎若没有新的带年月题,界面走定向补事或已有载体;同一候选集、同一已答数下引擎刷新只调用一次,不得反复打约 20 秒的刷新
|
||||
- 引擎若有新题,下一问必须出现;不得「GET 已有探针、界面没有下一问」
|
||||
- 刷新不得把候选集改空或换成另一套 `candidate_set_id`
|
||||
- 说「没有了」后看到「目前范围」卡;定向题若写不进库,同一轮也必须出这张卡
|
||||
- 全程不出现「没有拿到下一个问题」
|
||||
|
||||
## 0d. 定向补事逐条点选;范围卡下可再答参考题
|
||||
|
||||
同一条虚构序列走到第六题之后。
|
||||
|
||||
期望:
|
||||
|
||||
- 第一张定向卡题干是「结过婚或订过婚吗?」;选项是有 / 没有 / 记不清 / 先跳过,不计分
|
||||
- 点「没有」后出现下一条线的存在题,不得停在「没有拿到下一个问题」
|
||||
- 点「有」后口述追问「大概哪年几月?」;答一个虚构年月后账本多一条对应领域经历,并重算出新的带年月题或范围变化
|
||||
- 题干与卡下提示写「现在还剩 HH:MM–HH:MM 里 N 个候选」,不得写「能把 04:51 和 05:06 分开」这类两端钟点
|
||||
- 四条线都点「没有」后出「目前范围」卡;卡下有「还能再收窄」
|
||||
- 不点「再答两道参考题微调排序」时不得出现 D9/D10 性格对照卡
|
||||
- 点了该入口后才出现性格对照卡;答完后头名可变,但 `can_adopt` 不变、没有淘汰
|
||||
- 全程不出现「这次给出」「最终」
|
||||
|
||||
## 1. 范围:家人说两点到四点
|
||||
|
||||
|
||||
Reference in New Issue
Block a user