Files
Jyotisha/docs/tasks/PROGRESS-rectification-superseded-focus-duplicate-20260910.md
T
Jesse_ChenandCursor 71eaeb2e8b
Independent Staging Quality Gate / validate (push) Successful in 31m33s
Independent Staging Quality Gate / publish (push) Has been cancelled
docs(tasks): mark BUG-644/645 ready for review after merging staging
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 21:06:55 +08:00

59 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 被顶替的采集题号永久占位(2026-09-10)
工作树:`.worktrees/rectification-superseded-focus-duplicate-20260910`
分支:`codex/rectification-superseded-focus-duplicate-20260910`
任务书:`docs/tasks/TASK-rectification-superseded-focus-duplicate-20260910.md`
基线:任务书写 `origin/staging` @ `82eb3b79`;开工接到 `d40f2032`;合入前再接到 `origin/staging` @ `cd688add`
`cd688add` **没有改本单任务书**。它只验收了 BUG-635640,并给采集语义单(BUG-641~643)补了一条 `expectedWrite` 映射缺口。那条不在本单范围。
## 开工回执
- 编号 **BUG-644**P0/ **BUG-645**P1)。`docs/BUG_HISTORY.md` 当时最大已发布号是 640;641~643 仍由采集语义单占用,本单按任务书从 644 起。
- 顺序:采集撞号必换号 → `duplicate_focus` 不落 adopt → 交付口吻守卫 → 记录。T4 延后。
- 未改 Skill、引擎、迁移。
## 已完成
- **T1**`persistCollectFocus` 撞号依次试 `:next` / `:next2` / `:next3``collect_retry` 只换重问文案。点选探针路径仍一次撞号即 `duplicate_focus`
- **T2**`persistExhaustionCollect` 删除「duplicate_focus = 已问过」特判;失败时返回采集口语或中间态范围句;日志加 `persist_status``question_id`
- **T3**`deliveryNarrationAllowed``persistNextInterviewAfterChoice` skip、`persistExhaustionCollect` adopt、路由 `isNonConvergingRangeOffer` 三处共用。不允许时不用交付句。
- **T5**BUG-644/645、CHANGELOG、走查清单、本文件。Skill 版本不变(`10.0.21`)。
## T4 延后
同轮多次 batch 的 `persistPlanFocus` 先 resolve 再新建,只减少 superseded 行,不是闭合点。`resolve(status="superseded")` 也不是现有 resolve RPC 的合法状态;unique `(case_id, question_id)` 即使改成 resolved 仍占题号。T1 换号已闭合再问。
## 验收命令(实测)
工作树相对 `origin/staging` @ `d40f2032`
| 命令 | 结果 |
| --- | --- |
| `frontend` `tsx --test` 任务书相关文件(superseded-focus / server-focus / spoken-collect / exhaustion-exit / delivery-report-facts / agent-voice / skipped-health | **79/79 pass** |
| 追加 `answer-choice` / `range-offer-deadend` / `adopt-narration` / `collect-direction` | **79/79 pass** |
| `frontend` `./node_modules/.bin/tsc --noEmit` | **0 error** |
| `frontend` 对改动文件 `eslint` | **0 error** |
| `git diff --check` | 待提交前再跑 |
相关套件基线(staging 上 `test(` 条数)71;本单新增 `rectification-superseded-focus.test.ts` 并给 copy-contract 加 1 条,总数高于基线。
### 既有断言改动
- `rectification-server-focus.test.ts` `collect focus unique conflict is duplicate_focus unless collect_retry`:原值 duplicate_focus / RPC 一次 / 新值 `:next` 成功、原文案 / 原因:BUG-644 被顶替题号必须能再问。
- 同文件探针 `duplicate focus conflict does not throw`:补 `writes=1` 且题号不含 `:next`。原因:BUG-559,点选探针不得加后缀。
## 环境缺口
- 无登录态:`docs/testing/rectification-superseded-focus-duplicate-20260910.md` 真人走查未做,不得写通过。
- 未跑 `next build`,未核 `/` 是否仍 Static、首屏 gzip ±2%。
- 推 staging 后才核 `/api/health``deployment.gitCommit`;未部署则记缺口。
## 未做
- T4 同轮多次 batch 计划焦点。
- 未提升 `main`。Skill 未升版。
- 未实现 BUG-641643。
代码提交:`a3a51c32`。已 merge `cd688add`,准备推 `staging`