a00b069dcc
Null-check the candidate result before reading resultId so next build can ship. Adopt reconnects prospective windows on the first verify turn, and dismissing the range card now shows the collect hint. Co-authored-by: Cursor <cursoragent@cursor.com>
3.1 KiB
3.1 KiB
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
偏离
- 步骤条文案用
RangeDeliveryContinueHint(.rectification-continue-hint),没有恢复.rectification-step-state。BUG-575 防复发与rectification-step-state-20260906.test.ts禁止该类名。 - 预测窗口挂在
persistNextInterviewIfIdle(采用 RPC 之后的首轮),不挂applyRectificationChoice的跳过核对收尾,以免改掉postAdoptVerifyDone全等断言。