# 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 未升版。