fix(rectification): host-fallback empty evidence turns and choice range narration (BUG-633, BUG-634)
Evidence turns that already recorded a batch no longer fail the whole run when the model emits no text; unchanged ranges now name which clock spans lead or lag, and the timeline no longer says 收窄. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# PROGRESS · 证据轮无正文被判失败;答题旁白与时间线无进度(2026-09-10)
|
||||
|
||||
工作树:`.worktrees/rectification-evidence-turn-empty-answer-20260910`
|
||||
分支:`codex/rectification-evidence-turn-empty-answer-20260910`
|
||||
任务书:`docs/tasks/TASK-rectification-evidence-turn-empty-answer-20260910.md`
|
||||
基线:任务书写 `719ff55a`;开工接到 `origin/staging` @ `31f2a722`。BUG-626/627、BUG-628 有任务书但无人领取,按任务书串行说明先做本单。
|
||||
|
||||
## 开工回执
|
||||
|
||||
- 编号 **BUG-633** / **BUG-634**(当时最大已发布号是 632)。
|
||||
- 顺序:主持人兜底 → 零写工具才重试 empty_stream → 失败也刷新快照并渲染已落库问题 → 范围不变旁白补领先/落后 → 时间线去掉「还在收窄」→ 记录。
|
||||
|
||||
## 已完成
|
||||
|
||||
- **BUG-633**:`record-evidence-batch` 已 completed 且无正文时,用 batch 返回的 `accepted_recaps` 写成「记下了:…。」,`answer.host_fallback` + `answer_origin=host_fallback`,正常结算。`empty_stream` 不进 `RETRYABLE_ERROR_CODES`;仅零公开写工具时 retryable 一次。失败路径同样 `loadCaseSnapshot`;`questionPersisted` 渲染主持人问题行。迁移 `20260910010000_rectification_host_fallback_phase.sql` 放行该 phase。每个 attempt 收尾打一条 `RectificationRunDiagnostic` JSON 日志,不落库。
|
||||
- **BUG-634**:范围不变且 deltas 非零 →「已记录,范围没变;04:52–04:53 领先,05:08–05:12 落后。」全零 →「已记录,范围没变。」范围变了仍不讲领先落后。时间线:`discriminate_candidates` 且无带年月探针 →「选择题已问完,再补带年月的经历才会变」;否则「还在核对」。
|
||||
- 记录:BUG-633/634、CHANGELOG、走查第 8 条、本文件。Skill 版本不变。
|
||||
|
||||
## 验收命令(实测)
|
||||
|
||||
工作树 `codex/rectification-evidence-turn-empty-answer-20260910`,相对 `origin/staging` @ `31f2a722`。
|
||||
|
||||
| 命令 | 结果 |
|
||||
| --- | --- |
|
||||
| `frontend` `./node_modules/.bin/tsc --noEmit` | **0 error** |
|
||||
| `frontend` `npm run lint` | **0 error** / 108 warning(既有) |
|
||||
| `frontend` `tsx --test`:`tests/rectification-*.test.ts` + `agent-voice-copy-contract.test.ts`(排除 database) | **1102/1102 pass** |
|
||||
| `git diff --check` | 干净 |
|
||||
|
||||
## 环境缺口
|
||||
|
||||
- 无登录态、无 Chrome:`docs/testing/rectification-scenarios-20260907.md` 第 8 节真人走查未做。
|
||||
- 未跑完整前端套件 / `next build`。
|
||||
- 迁移 `20260910010000_rectification_host_fallback_phase.sql` 待 `Migrate Staging Database` 后部署;未应用时 `answer.host_fallback` 内存 phases 仍在,落库会被 SQL allowlist 拒绝(`persistCommittedPhase` 非 strict)。
|
||||
|
||||
## 未做
|
||||
|
||||
- 本提交先落 BUG-633/634。未推的 BUG-626/627(`e396c883`)按任务书「决策 5 叠在本单客户端改动上」随后 cherry-pick。
|
||||
- 未领取、未实现 BUG-628。
|
||||
- 未提升 `main`。Skill 未升版。
|
||||
@@ -94,7 +94,7 @@
|
||||
| `TASK-rectification-domain-alias-audit-20260909.md` | `PROGRESS-rectification-domain-alias-audit-20260909.md` | 领域命名审计:健康线 `health`(账本/焦点)与 `health_pressure`(计划/引擎)在十处比较里六处未归并(holdout declined、reverse-verify、conflict probes、probeYearAlreadyCovered、引擎 oos_blind_prompts / _event_years / volunteered);职业线焦点存为 `other` 只靠 questionId 兜底。其余六领域三层同名无问题。决策:TS/Python 各一个归并函数 + 源码合同禁字面量比较 | 待执行 | `codex/rectification-domain-alias-audit-20260909`(BUG-628) |
|
||||
| `TASK-rectification-yearless-probe-downgrade-20260909.md` | `PROGRESS-rectification-yearless-probe-downgrade-20260909.md` | 产品拍板:无年月性格题(D9/D10 风格、月宿边界)降级为平局裁决——带年月题问完且候选仍分不开才问,分值减半(±1)、不计淘汰,报告标「参考」;三列卡性格描述不动;新增离线命中率测量脚本 + 导出 SQL(有出生证用户,聚合);Skill 10.0.21 | 已验收通过 | `fef54b6e`(BUG-629,Skill 10.0.21) |
|
||||
| `TASK-rectification-followups-20260909.md` | `PROGRESS-rectification-followups-20260909.md` | 验收补漏:申报时段拦截只看钟点样式,带钟点的经历(『20:00 左右分手』『3 点到 5 点被车撞』)会被吞(BUG-631);by_time 只算引擎前 9 个候选,一小时窗 17 个候选时卡片列写『还没对照』(BUG-632) | 待验收 | `codex/rectification-followups-20260909`(BUG-631~632) |
|
||||
| `TASK-rectification-evidence-turn-empty-answer-20260910.md` | `PROGRESS-rectification-evidence-turn-empty-answer-20260910.md` | 证据轮模型无正文被判整轮失败:证据、评分、下一问都已落库却只剩『没有拿到下一个问题』(BUG-633);答题旁白只说『范围没变』、时间线写死『还在收窄』(BUG-634) | 待执行 |
|
||||
| `TASK-rectification-evidence-turn-empty-answer-20260910.md` | `PROGRESS-rectification-evidence-turn-empty-answer-20260910.md` | 证据轮模型无正文被判整轮失败:证据、评分、下一问都已落库却只剩『没有拿到下一个问题』(BUG-633);答题旁白只说『范围没变』、时间线写死『还在收窄』(BUG-634) | 待验收 |
|
||||
|
||||
### 聊天主链路与首页
|
||||
|
||||
|
||||
Reference in New Issue
Block a user