Hold delivery whenever tie-break questions remain, not only on a one-point lead. Drop the event-anchor discard for varga_style; keep the two-sign split gate.
2.5 KiB
2.5 KiB
进度 · 平局先问参考题再出卡(2026-09-14)
范围
- 分支:
codex/rectification-tiebreak-before-card-20260914(基于origin/staging@a6381e02) - 任务单:
docs/tasks/TASK-rectification-tiebreak-before-card-20260914.md - BUG-685 / 686 / 687 resolved
- 任务 1–4 均做完,没有走让步
完成
- T1:
requestTieBreak成功路径用applySnapshotTurnsToMessages把新 turn 并进对话。缺口里未答焦点优先于「等读者点卡」。refetchQuestion与 repair 失败回拉同样合并(服务端可能已写 turn)。 - T2:出卡前只要
pendingTieBreak(不看分差)就heldForTieBreak,先持久化 D9/D10varga_style(沿用tie_break_round),用完再交付。删除varga_style的unanchored_varga_style锚点丢弃。仍平时卡上写「参考题已经用过」,按钮随tie_break_available收起。 - T3:
rangeNarrowHint传入真实拒答;空池写「能问的都问完了」。 - T4:
tieBreakGateInput供 GET 与 POST 共用。GET 本轮仍不另载birthDate(与原先一致);POST 继续从 compute 读取。
loadCaseSnapshot 逐处
| 位置 | 回调 | 依据 |
|---|---|---|
send 成功/失败 |
有(只 merge 已有消息上的题) | 模型 turn 已在 messages |
submitChoice |
有 merge + append | 结构化选择后可能多出助手 turn |
| 采用成功后 | 无 | 随后 send 写采用旁白;快照只刷新已采用态 |
| 参考题 409 | 无 | 没有新题,只重拉以藏按钮 |
| 参考题成功 | 有 | BUG-685 |
refetchQuestion |
有 | 准备缺口期间服务端可能已写下下一问 |
| repair-exit 失败回拉 | 有 | 修复失败后快照里可能已有新 turn |
验收数字
tsc --noEmit:0 错npm run lint:0 error / 120 warning(既有,未顺手改)- 定向:
rectification-tiebreak-before-card-20260914.test.ts8/8;tie-break-entry、collection-question-pool、delivery-vs-collect、tied-first、surface-state、probe-pool-exhausted T4、targeted-collect 相关全过 - 全量
npm test:3011 / pass 2843 / fail 154 / skip 14(含 T4 旧断言,已改为「能问的都问完了」后定向 20/20)。失败条数与 Windows 基线 153 同型(CRLF、Skill SHA、Docker/DB、无 symlink)。本轮新测 8 条全过。 next build:本机 Turbopack 拒跨 worktree 的node_modulesjunction。Linux 门禁会在树内安装后构建。- 浏览器级验收:无 staging 登录态,清单见
docs/testing/rectification-tiebreak-before-card-20260914.md。