fix(rectification): do not hold delivery on exhausted or closed-ceiling paths (BUG-688)
Independent Staging Quality Gate / validate (push) Successful in 10m3s
Independent Staging Quality Gate / publish (push) Successful in 3m53s

Style questions still precede a converging range card when a renderable
followup exists. Exhausted, closed-ceiling, and holdout-unavailable exits
deliver immediately. Hold at most once per Case. Restore the single-gate
exit assertion and stop treating the tie-break ack as an exit carrier.
This commit is contained in:
jesse-ux
2026-09-14 21:43:21 +08:00
parent ada2cfb15a
commit 963c147c58
10 changed files with 198 additions and 92 deletions
@@ -0,0 +1,21 @@
# 进度 · 参考题前置不得压住出口(2026-09-14)
## 范围
- 分支:`codex/rectification-tiebreak-hold-exit-20260914`(基于 `origin/staging` @ `ada2cfb1`
- 任务单:`docs/tasks/TASK-rectification-tiebreak-hold-exit-fix-20260914.md`
- BUG-688 resolved(复发自 BUG-686
- 未改 `active_rectification_event_engine.py`、确认门、并列判据、Skill 版本
## 完成
- T1`shouldHoldForTieBreak` 要求 `tieBreakFollowupReady`(可渲染风格题);`exhausted``user_stopped` 不 holdclosed-ceiling`coverageBlocks && engineOffers && !narrowingOpen`)和 holdout 不可用的收口不 hold。同一 Case 已 hold 过一轮(已问过 `varga.d9` / `varga.d10` 或焦点带 `tie_break_round`)不再 hold。
- T2:恢复 `last closed-ceiling card…``assert.equal(gates.length, 1)``exitAppendCalls()` 去掉 `只微调排序`。文案放宽(「范围已经收到 / 能问的都问完了」)保留。
- D3 已做,未走让步。
## 验收数字
- 定向:`rectification-tiebreak-before-card-20260914.test.ts` 12 条 + `rectification-probe-pool-exhausted-20260911.test.ts` 10 条全绿。`rectification-exhaustion-exit-20260906.test.ts` 本机因 Skill SHA 软链无法导入(Windows 基线缺口),Linux 门禁会跑。
- `tsc --noEmit`0 错
- `npx eslint` 改动文件:0 error2 条既有 unused-vars warning,未顺手改)
- Skill 版本不变
+1 -1
View File
@@ -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-tiebreak-hold-exit-fix-20260914.md` | `PROGRESS-rectification-tiebreak-hold-exit-20260914.md` | **P0 回归修复单**:BUG-686 的风格题前置把耗尽与收口路径的交付也压住了,`npm test` 由 27 红涨到 33(6 条「该交付却不交付」)。后续 `6fd7925a` 只改断言把它们改绿:4 条文案放宽可接受,2 条实质弱化(「恰好一条交付闸」退化成短路、参考题确认语被算作出口载体)必须恢复;行为层根因未动。hold 要带出口、不得作用于 exhausted/closed-ceiling,最多 hold 一次(BUG-688)。尚未部署,未影响线上 | 待执行 | `codex/rectification-tiebreak-hold-exit-20260914` |
| `TASK-rectification-tiebreak-hold-exit-fix-20260914.md` | `PROGRESS-rectification-tiebreak-hold-exit-20260914.md` | **P0 回归修复单**:BUG-686 的风格题前置把耗尽与收口路径的交付也压住了,`npm test` 由 27 红涨到 33(6 条「该交付却不交付」)。后续 `6fd7925a` 只改断言把它们改绿:4 条文案放宽可接受,2 条实质弱化(「恰好一条交付闸」退化成短路、参考题确认语被算作出口载体)必须恢复;行为层根因未动。hold 要带出口、不得作用于 exhausted/closed-ceiling,最多 hold 一次(BUG-688)。尚未部署,未影响线上 | 待验收 | `codex/rectification-tiebreak-hold-exit-20260914` |
| `TASK-rectification-cluster-width-research-20260914.md` | `PROGRESS-rectification-cluster-width-research-20260914.md` | **研究单**:上一轮证明调权重改不动交付区间宽度——所有方案宽度中位数都等于整个搜索窗。先确认 sweep 的宽度口径是否含淘汰(M0),再画簇结构像(M1),最后量三个改法:放宽簇上限、按分差决定是否合并、交付区间改分位覆盖(M2)。真值覆盖率不得下降 | 待执行 | `codex/rectification-cluster-width-research-20260914` |