fix(rectification): simplify delivery card and guard double turns (BUG-595, BUG-596)
Make the range card row-select, drop the composer 先这样 control and adopt status bar, keep delivery copy to three sentences with a folded verification report, and skip a second no-message agent run after a terminal delivery turn. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# PROGRESS · 生时校正交付面精简(2026-09-08)
|
||||
|
||||
工作树:`.worktrees/rectification-delivery-ui-simplify-20260908`
|
||||
分支:`codex/rectification-delivery-ui-simplify-20260908`
|
||||
任务书:`docs/tasks/TASK-rectification-delivery-ui-simplify-20260908.md`
|
||||
基线:`origin/staging` @ `6368ebba`
|
||||
|
||||
本单状态:**待验收**。代码在执行分支,尚未 push。
|
||||
|
||||
未改:采用 RPC、确认门、各道门槛、`page.tsx`。Skill 从 10.0.16 升到 **10.0.17**。
|
||||
|
||||
## 做了什么
|
||||
|
||||
- **决策 1** 区间卡改成按候选分钟逐行点选。代表分钟第一、标「排盘用」,右侧只写与代表分钟不同的 D9/D10。删分歧两列、「都不像」「说不好」「按这个范围用」「再补一件经历」。
|
||||
- **决策 2** 输入框上方不再有「先这样」。停止只留选择题卡和生成中「停止回答」。删 `rectification-composer-meta`。
|
||||
- **决策 3** 删采用状态条。没有核对题时旁白改为「已采用 HH:MM,新建对话即按这个时间排盘。」
|
||||
- **决策 4** 交付正文三句。八法报告在默认收起的「查看验证报告」。Skill 10.0.17。
|
||||
- **决策 5** 四条路打 `rectification_delivery_turn` 日志;同一 Case 同一 `resultId` 60 秒内第二次无用户消息 agent 运行返回 `already_delivered`。有 `askedTurnId` 时不再 `persistExhaustionGateTurn`。
|
||||
|
||||
## 三栏(被触碰断言)
|
||||
|
||||
| 用例 | 原值 | 新值 | 理由 |
|
||||
| --- | --- | --- | --- |
|
||||
| 交付卡按钮 | 「按这个范围用 / 再补一件经历」+ 分歧列 | `button` 数 = 候选行数,点行 `onAccept` | BUG-595 决策 1 |
|
||||
| composer-wrap | `CHOICE_STOP_LABEL` + composer-meta | 无先这样、无 composer-meta | BUG-595 决策 2 |
|
||||
| 采用后状态条 | `rectification-adopt-status` + 改选 | 行内已采用;无状态条 | BUG-595 决策 3 |
|
||||
| 无核对题旁白 | `postAdoptVerifyDone` 原句 | `已采用 HH:MM,新建对话即按这个时间排盘。` | BUG-595 决策 3 |
|
||||
| 交付正文 | 八法报告进气泡 | 三句;报告在折叠块 | BUG-595 决策 4 |
|
||||
| Skill | 10.0.16 | 10.0.17 | 任务书 |
|
||||
| 连续无消息 agent | 第二条仍计费写 turn | `already_delivered` | BUG-596 |
|
||||
| 跳过最后一道核对题 | remaining=0 误走短句 | 有过 reverse_verify 焦点则保留原 `postAdoptVerifyDone` | BUG-595 决策 3 |
|
||||
|
||||
## 测试
|
||||
|
||||
- `frontend` `./node_modules/.bin/tsc --noEmit`:exit 0
|
||||
- `npm run lint`:0 errors / 106 warnings(仓库基线 warning,无新 error)
|
||||
- 任务书指定 TS 切片:1039 tests / 1039 pass / 0 fail
|
||||
- 新文件 `frontend/tests/rectification-delivery-ui-simplify-20260908.test.ts`
|
||||
- `next build`(Turbopack 默认):worktree `frontend/node_modules` 是指向主仓的 symlink,Turbopack 报 `points out of the filesystem root`。用 `next build --webpack` 代替:`/` 仍是 `○` Static。Next 16.3 webpack 输出不再打印 First Load gzip。
|
||||
- Docker `database-rectification-*.test.ts`:本机未跑,记 blocked
|
||||
- 浏览器真人走查:无登录态,见 `docs/testing/rectification-scenarios-20260907.md` §5
|
||||
|
||||
Skill 10.0.17 SHA256:`f77b06de392feaa7c23e64beb05a90bcc0734db73747eb7915cba338b8eff1e6`。live 树与 `versions/10.0.17` 字节一致。
|
||||
|
||||
## 偏离
|
||||
|
||||
1. BUG-596 触发链仍 investigating;守卫按任务书落地,日志已加。
|
||||
2. 本机主仓停在 `codex/minute-rectification-p0` 且有脏文件,未 checkout/reset。本单在独立 worktree 基于 `origin/staging` 做。
|
||||
3. 预检系统 Python 缺 swisseph/pytest;项目 `.venv` 预检 `pass_with_remote_blocked`。不把预检失败写成云端未同步。
|
||||
4. `.venv` 是指向主仓的 symlink,不提交。
|
||||
5. 默认 `next build`(Turbopack)在 worktree symlink `node_modules` 上失败;验收数字来自 `next build --webpack`。
|
||||
@@ -79,7 +79,7 @@
|
||||
| `TASK-rectification-same-year-probe-dedupe-20260908.md` | `PROGRESS-rectification-same-year-probe-dedupe-20260908.md` | 答完「2023 年 5 月前后」又问「2023 年前后」(BUG-559 复发):点选不重跑引擎,同一份 probes 里同域同年两题并存;TS 侧 `existenceProbeAsked` 只降权不排除,`inspectDiscriminatorProbes` 连领域+年份规则都没有。决策:同域同年硬排除、相邻年维持降权 | 已验收通过(真实环境未再出同年题) | `8ae17a26`(BUG-592) |
|
||||
| `TASK-rectification-delivery-report-facts-20260908.md` | `PROGRESS-rectification-delivery-report-facts-20260908.md` | 交付轮验证报告写「宽度 29 分钟」「主限偏向 05:06 / 分盘大运偏向 04:59」「04:53 D10 升狮子座」,与卡片(04:51–04:53)矛盾:`skill_verification_report` 用引擎推断前的 width / dasha_agreement,分盘星座让模型自算 | 已验收通过(Skill 10.0.16) | `06e44104`(BUG-593) |
|
||||
| `TASK-rectification-new-minute-inherit-20260908.md` | `PROGRESS-rectification-new-minute-inherit-20260908.md` | 5 题答完范围 13 分钟,补迁居事件后回弹到 28 分钟:重算换入的新分钟在携带题的 supports/conflicts 里没名字,一律中性、零冲突存活(BUG-587 决策 2 定错,本单推翻:按分盘星座 / 连续分钟段推结论);batch 内重算不触发 BUG-588 范围句 | 已验收通过(真实环境范围不再回弹) | `be711043`(BUG-594) |
|
||||
| `TASK-rectification-delivery-ui-simplify-20260908.md` | `PROGRESS-rectification-delivery-ui-simplify-20260908.md` | 产品决定:时间卡按候选分钟逐行直接点选采用(删分歧两列 + 都不像/说不好/按这个范围用/再补一件经历)、删输入框上方「先这样」按钮、删采用后状态条、交付正文收成三句 + 八法报告折叠块(Skill 10.0.17)、交付轮两条助手消息守卫(investigating) | 待执行 | `codex/rectification-delivery-ui-simplify-20260908`(BUG-595~596) |
|
||||
| `TASK-rectification-delivery-ui-simplify-20260908.md` | `PROGRESS-rectification-delivery-ui-simplify-20260908.md` | 产品决定:时间卡按候选分钟逐行直接点选采用(删分歧两列 + 都不像/说不好/按这个范围用/再补一件经历)、删输入框上方「先这样」按钮、删采用后状态条、交付正文收成三句 + 八法报告折叠块(Skill 10.0.17)、交付轮两条助手消息守卫(investigating) | 待验收 | `codex/rectification-delivery-ui-simplify-20260908`(BUG-595~596) |
|
||||
| `TASK-api-not-configured-mislabel-20260904.md` | `PROGRESS-api-not-configured-mislabel-20260904.md` | 16 处路由把数据库瞬断(部署切换窗口)兜底翻译成 503「服务尚未配置」;改为仅配置错误用该文案,其余 `service_unavailable`,收敛为共享 helper | 已验收 | `5483649b`(BUG-542);2 条子进程测试留 CI Node 22 复核 |
|
||||
| `TASK-rectification-ux-20260902.md` | `PROGRESS-rectification-ux-20260903.md` | 会话面空白假死与交互摩擦 | 已验收 | `d159f08e`(09-03 在新基线重做后合入,BUG-505~509) |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user