# PROGRESS · 生时校正停止后重算丢掉答题(2026-09-07) 工作树:`.worktrees/rectification-stop-rescore-fix-20260907` 分支:`codex/rectification-stop-rescore-fix-20260907`(跟踪 `origin/staging` @ `058ad693`) 任务书:`docs/tasks/TASK-rectification-stop-rescore-fix-20260907.md` 编号:BUG-581、BUG-582 本单状态:**待验收**。未 commit、未 push、未部署。区间交付卡任务仍串行等本单合入部署。 未改:采用门、确认门、`MIN_SEPARATION_LEAD`、`_relative_support`、`minute_step=1` 指纹、采用 RPC 校验。Skill 仍 10.0.14。 ## 做了什么 - **BUG-581**:`scoreAndPersistCurrentEvidence` 抽到 `v9/score-persist.ts`。STOP / 闲置 `keepAnswers=true` 重放上一份 `inference_state`;时段选定 / 放宽 `keepAnswers=false` 仍写出空答案的 `inference_state`。 - **BUG-582**:无框或文案无效的 `distinguish_candidates` persist 为 `skipped`,不再改写成采集。`spokenFollowupForUser` 的 GENERIC 只留给真正的开场 `collect:other`。工具层删除 `?? GENERIC_COLLECT_QUESTION`。`persistPlanFocus` 不再在区分题 persist 失败后转口述采集。 - **P3**:holdout 采集排到带年月采集与职业之后。计划层无框区分记 `dropped_probes(reason=frameless_distinguish)` 后继续往下走。 ## 三栏(被触碰断言) | 用例 | 原值 | 新值 | 理由 | | --- | --- | --- | --- | | 无框/文案无效区分题 persist | 改写成 `collect_spoken` / GENERIC 开场句 | `skipped`,不写焦点 | BUG-582 不得把区分题变成开场采集 | | `precision stage d4` 覆盖完 dated 后 | 无框 `d4_home` 仍当下一问 | 记 `frameless_distinguish` 并继续;不再出无框区分 | 决策 3 | | 源扫描 `rectification-v9-tools.ts` 里的对比包 / VedAstro 守卫 | 闭包内联 `scoreAndPersistCurrentEvidence` | 改扫 `v9/score-persist.ts` | 抽出共享重算路径 | | `failed card persist still leaves a spoken collect next step` | `if (followup?.choice_frame)` + `?? GENERIC` | 仅采集意图且 `spokenFollowupForUser` 有题干才转口述 | 区分题不得 GENERIC 兜底 | ## 测试 - 任务书指定 TS 套件(`rectification-*.test.ts` + `consultation-*.test.ts` + `agent-voice-copy-contract.test.ts`,排除 database):**1202 passed / 0 failed**(上一轮同类切片约 1196) - `frontend` `tsc --noEmit`:0(修完 `credible_range` 空值后复跑) - Docker `database-rectification-*.test.ts`:本机未跑,记 blocked ## 偏离 1. 任务书说抽到 `tool-service.ts` 或 `v9/rescore.ts`;实际是 `v9/score-persist.ts`,避免 `tool-service` 循环依赖。 2. 未部署。区间交付卡(`TASK-rectification-range-delivery-card-20260907.md`)按任务书仍须等本单合入并部署。 3. 预检:系统 Python 3.14 无 swisseph/pytest(ERR-078);本单是前端 TS,以 `npx tsx --test` 为门。 4. 无框精度层(`lagna_frame` / 无探针的 d4)不再作为可问区分题;有 `choice_frame` 的精度卡仍可问。