# PROGRESS · 区间交付卡修复单(2026-09-07) 工作树:`.worktrees/rectification-range-delivery-fix-20260907` 分支:`codex/rectification-range-delivery-fix-20260907` 任务书:`docs/tasks/TASK-rectification-range-delivery-fix-20260907.md` 基线:`origin/staging` @ `f3e72702`(任务书写 `ab57d03f`;其上有验收文档提交) 本单状态:**待验收**。未 commit、未 push。 未改:采用 RPC 校验、确认门、`MIN_SEPARATION_LEAD`、`_relative_support`、`page.tsx`、Skill 版本(仍 10.0.15)、聊天源码不出现 `rectification-step-state`(BUG-575)。 ## 做了什么 - **3.1** `rectification-agentic-chat.tsx` 渲染条件改为 `showSelectionCards && candidateResult && dismissedRangeResultId !== candidateResult.resultId && …`。 - **3.2** 选「接上」:`persistNextInterviewIfIdle` 在 `acceptedTime` 时把 `prospectiveWindowsNarration(receipt.prospective_probes)` 接到首轮旁白末尾。交付旁白仍留 `deferredCareerWindow`。跳过最后一道核对题的 `postAdoptVerifyDone` 不走 idle 包装,仍是原句。 - **3.3** 「再补一件经历」收起卡片后,输入框上方 `RangeDeliveryContinueHint` 显示 `STEP_STATE_COPY.collect.headline` + `continueCollectFallback`。不用被禁的 `.rectification-step-state`。 - **3.4** BUG-583、CHANGELOG、本文件、场景第 5 条、DESIGN / VOICE。 ## 三栏(被触碰断言) | 用例 | 原值 | 新值 | 理由 | | --- | --- | --- | --- | | 区间卡渲染条件 | 先读 `candidateResult.resultId` 再 `candidateResult &&` | 先 `candidateResult &&` | TS18047 | | 采用后首轮旁白 | 无 `prospectiveWindowsNarration` 调用点 | idle persist 已采用时追加 | 决策 2 接上 | | 「再补一件经历」 | 只 `setDismissedRangeResultId` | 另显示收集经历提示 | 决策 3;不恢复步骤条类名 | ## 测试 开工前 `frontend` `./node_modules/.bin/tsc --noEmit; echo "tsc exit $?"` 原文: ``` src/components/rectification-agentic-chat.tsx(1655,67): error TS18047: 'candidateResult' is possibly 'null'. tsc exit 2 ``` 修复后同一命令原文(stdout 为空,只有 echo): ``` tsc exit 0 ``` - 任务书指定 TS 套件(`rectification-*.test.ts` + `consultation-*.test.ts` + `agent-voice-copy-contract.test.ts` + `skill-registry.test.ts`,排除 database):**1230 passed / 0 failed**(`ab57d03f` 同切片 1227;本单 +3) - 本单改动文件 eslint:**0 error**(chat 上 2 条既有 hooks warning) - Docker `database-rectification-*.test.ts`:本机未跑,记 blocked - 浏览器点选「再补一件经历」:无登录态 / Chrome 驱动,记环境缺口,见 `docs/testing/rectification-scenarios-20260907.md` §5 ## 偏离 1. 步骤条文案用 `RangeDeliveryContinueHint`(`.rectification-continue-hint`),没有恢复 `.rectification-step-state`。BUG-575 防复发与 `rectification-step-state-20260906.test.ts` 禁止该类名。 2. 预测窗口挂在 `persistNextInterviewIfIdle`(采用 RPC 之后的首轮),不挂 `applyRectificationChoice` 的跳过核对收尾,以免改掉 `postAdoptVerifyDone` 全等断言。