fix(rectification): keep tied-first from delivering while probes remain (BUG-683/684)
tied_first is only terminal when there is no dated probe and targeted collect is exhausted. An unnarrowed opening window cannot announce adopt. Delivered dead choice cards take the delivered gap instead of the repair copy.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 进度 · 并列早退把第二题就判成可采用(2026-09-14)
|
||||
|
||||
## 范围
|
||||
|
||||
- 分支:`codex/rectification-tied-first-fix-20260914`(基于 `origin/staging` @ `e42a62df`)
|
||||
- 任务单:`docs/tasks/TASK-rectification-tied-first-premature-delivery-fix-20260914.md`
|
||||
- BUG-683 resolved;BUG-684 investigating(兜底 + 日志,缺四项 GET 证据)
|
||||
- 任务 1/2/3 均做完,没有走让步
|
||||
|
||||
## 完成
|
||||
|
||||
- T1:`tied_first` 早退加 `!probe && targetedCollectExhausted !== false`。有带年月探针时走判别;定向补事未问完时继续采集。`refreshExhausted` 不参与。
|
||||
- T2:`case.candidateRange` 传入决策。交付时区间等于开局窗口则 `can_adopt=false`,`session_outcome` 只给 `completed_with_range` / `provisional_range`。收窄过的维持原行为。
|
||||
- T3:`interviewDeliveredGap` 把 `questionMissing || deadChoice` 视为可进入 `delivered`;交付态死卡打 `rectification_delivered_state_dead_choice`。非交付死卡仍 `unavailable`。
|
||||
- T4:BUG_HISTORY、CHANGELOG、DESIGN、真机清单。
|
||||
|
||||
## 断言三栏(既有用例)
|
||||
|
||||
| 位置 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| `rectification-delivery-vs-collect-20260914.test.ts` 并列交付 | `targetedCollectExhausted: false` 仍 `complete_with_range` | `targetedCollectExhausted: true` 才交付 | BUG-683:并列不是「还有题也结束」 |
|
||||
|
||||
## 验收数字
|
||||
|
||||
- `./node_modules/.bin/tsc --noEmit`:0 错
|
||||
- `npm run lint`:0 error / 120 warning(既有,未顺手改)
|
||||
- 定向:`rectification-tied-first-fix-20260914.test.ts` 7/7;`rectification-delivery-vs-collect-20260914.test.ts` 6/6;convergence-budget 14/14;surface-state、decide-next-action、decision-authority、probe-pool-exhausted、candidate-result、targeted-card-live 合计 79/79
|
||||
- 全量 `npm test`:3003 / pass 2836 / fail 153 / skip 14。失败条数与上一轮 Windows 基线 153 一致;本轮多 7 条新测全部通过。153 条是 CRLF、Skill SHA、Docker/DB、无 symlink 权限,不是本单回归。Linux 门禁基线仍是任务书写的 27 条缺口。
|
||||
- `next build`:本机 Turbopack 拒跨 worktree 的 `node_modules` junction。未在本树 `npm ci`。Linux 门禁会在树内安装后构建。未测 `/` Static 与首屏 gzip。
|
||||
- 浏览器级验收:本环境无 staging 登录态,条目写在 `docs/testing/rectification-delivery-vs-collect-20260914.md`。
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
| `TASK-rectification-targeted-card-dead-20260913.md` | `PROGRESS-rectification-targeted-card-dead-20260913.md` | **P0**:定向补事卡在快照投影里拿不到 `choice_card`(承接焦点分支不重建 `choice_frame`),卡片看得见点不动、流程停在采集等待态;模型还会把定向题改写成口述题(BUG-669~671)。先于 tie-break 修复单执行 | 待验收 | `codex/rectification-targeted-card-dead-20260913` |
|
||||
|
||||
| `TASK-rectification-tied-first-premature-delivery-fix-20260914.md` | `PROGRESS-rectification-tied-first-fix-20260914.md` | **P0 回归修复单**:BUG-680 的 `tied_first` 早退被实现到 `coverageBlocks` 之前且无 `probe` 守卫 → 新案子答两题、区间还是整个开局窗口就宣布 `can_adopt`/代表分钟(BUG-683);交付态下仍出现死卡致 `delivered` 终态不触发、印「没有拿到下一个问题」(BUG-684 investigating) | 待执行 | `codex/rectification-tied-first-fix-20260914` |
|
||||
| `TASK-rectification-tied-first-premature-delivery-fix-20260914.md` | `PROGRESS-rectification-tied-first-fix-20260914.md` | **P0 回归修复单**:BUG-680 的 `tied_first` 早退被实现到 `coverageBlocks` 之前且无 `probe` 守卫 → 新案子答两题、区间还是整个开局窗口就宣布 `can_adopt`/代表分钟(BUG-683);交付态下仍出现死卡致 `delivered` 终态不触发、印「没有拿到下一个问题」(BUG-684 investigating) | 待验收 | `codex/rectification-tied-first-fix-20260914` |
|
||||
|
||||
| `TASK-rectification-delivery-vs-collect-split-20260914.md` | `PROGRESS-rectification-delivery-vs-collect-20260914.md` | **P0**:并列到顶(tied_first)时 POST 播了交付结论、GET 又算回 collect_evidence——刷新尝试落库失败仍回报「已尝试」+ `stillNeedNarrowing` 压过 exhausted(BUG-680);交付话术闸门与交付卡闸门不一致,`completed_with_range`/`provisional_range` 能说不能画(BUG-681);缺口状态机没有终态,兜底印「没有拿到下一个问题」(BUG-682) | 待验收 | `codex/rectification-delivery-vs-collect-20260914` |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user