merge origin/staging: timeline width/hollow marks (BUG-602/603) with conversation economy (BUG-604–606)
Keep both changelog entries, BUG_HISTORY 602–606, and both task-board rows at 待验收. Auto-merged chat.tsx retains inferenceMarks and collect-reply buttons. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# PROGRESS · 生时校正对话精简(2026-09-09)
|
||||
|
||||
工作树:`.worktrees/rectification-conversation-economy-20260909`
|
||||
分支:`codex/rectification-conversation-economy-20260909`
|
||||
任务书:`docs/tasks/TASK-rectification-conversation-economy-20260909.md`
|
||||
基线:`origin/staging` @ `d9252516`(任务书写 aa499da1;本 worktree 从当时的 staging 头切出,含时间轴文档提交)
|
||||
|
||||
本单状态:**待验收**。产品提交 `aa7ccb30`;单事件开场补丁见本文件后文 SHA。尚未 push,未合入 staging/main。未合时间轴兄弟单。
|
||||
|
||||
未改:采用门、确认门、各道门槛、`page.tsx`、`use-conversation-scroll-anchor.ts`。未改时间轴兄弟单文件(`rectification-timeline-scale.ts` / `rectification-candidate-result.ts` / 时间轴测试 / DESIGN §10)。Skill 停在 **10.0.19**(live + 快照同步改 OpeningPolicy,不升版)。
|
||||
|
||||
## 做了什么
|
||||
|
||||
- **BUG-604 / 决策 1** `buildOpeningBrief` 写入当前搜索窗口(`candidate_range` HH:MM–HH:MM)与 intake 来源、做法三句、六类领域。开场正文不合格则换成 `openingSpokenBody`。首题仍是 `collect:other:*`,题干 `GENERIC_COLLECT_QUESTION` =「先说你最容易想起的一两件,年月大概就行。」不写具体年份、不要求先准备材料。批量写入仍走 `rectification-record-evidence-batch`;已确认领域不再被 `nextDatedCollectFollowup` 追问。
|
||||
- **BUG-604 追问补丁(`origin/staging` `54adb0d1`)** 邀请多件是降低门槛,不是要求。开场只报一件:batch 写一条、compare 一次、下一问仍是既有 `nextDatedCollectFollowup`(顺序不变)。不插「还有吗 / 还能想起别的吗」追问轮,也不重复开场邀请。第一道逐领域题干由服务端加一次 `FIRST_DATED_COLLECT_INVITE` =「想到别的也可以一起说。」(`invite_more_once`,只一次)。用户可见文案未出现「还有吗」。
|
||||
- **BUG-605 / 决策 2** `collect_spoken` 且未 busy 时,`composer-wrap` 内两个 44px 次要按钮,类名 `rectification-collect-reply`(不复用 `rectification-step-state`,无示例骨架条)。「没有」= 打字「没有」= declined,回执「记下了,这方面先跳过。」「记不清」= skipped,回执「记下了,这题先放着。」精确这两句不调模型。skipped 本会话不再采集;采用后 `remainingReverseVerifyProbes` 仍可碰到 skipped(`includeSkipped: false`)。
|
||||
- **BUG-606 / 决策 3** 气泡不再渲染 `vargaSentence`;展开的 `ConsultationRunTimeline` / `AgentActivityStatus` 保留。点选旁白只有「已记录,范围没变。」或「已记录,范围收到 / 变为 A–B。」证据轮 `stripQuestionSentences` 之后 `trimEvidenceTurnBody`:超过两句只留首句,去掉「很有帮助 / 很有价值 / 很有分量 / 特别有用」。
|
||||
|
||||
## 三栏(被触碰断言)
|
||||
|
||||
| 用例 | 原值 | 新值 | 理由 |
|
||||
| --- | --- | --- | --- |
|
||||
| Skill / `RECTIFICATION_SKILL_VERSION` | `10.0.18` | `10.0.19` | OpeningPolicy 与证据轮口径变更 |
|
||||
| 开场 brief | 「不要一次说完 / 不要举例」 | 窗口 + intake 来源 + 做法三句 + 六类领域 | BUG-604 推翻旧口径 |
|
||||
| 开场题干 | 带大学例子的 GENERIC | 「先说你最容易想起的一两件,年月大概就行。」 | BUG-604;不写年份 |
|
||||
| 开场落库 | 模型一句招呼原样落库 | 不合格则换成三句模板;≤4 句、≥5 类、无年份 | BUG-604 |
|
||||
| composer-wrap 采集 | 无按钮(先这样已删) | 「没有」「记不清」44px,`rectification-collect-reply` | BUG-605 |
|
||||
| 精确「没有 / 记不清」 | 进分类器 / 模型 | 采集焦点分支短路,`declined` / `skipped`,无 `runV9AgentTurn` | BUG-605 |
|
||||
| skipped 领域 | 未单独建模 | 本会话不再采集;reverse-verify 仍可碰 | BUG-605 |
|
||||
| 气泡 `vargaSentence` | `ChatMessageContent` 渲染 | 只在展开活动时间线 | BUG-606(a) |
|
||||
| 点选旁白 | 「X 领先,Y 落后」+ 范围从…收到 | 「已记录,范围没变 / 收到 / 变为 A–B。」 | BUG-606(b) |
|
||||
| 机器词表 | 无「领先」「落后」 | `MACHINE_VOICE_LEXICON` 含这两词(用户可见旁白禁) | BUG-606(b) |
|
||||
| 证据轮正文 | 2–4 句额度;模型三句原样落库 | 超过两句只留首句;去掉价值评价四词 | BUG-606(c) |
|
||||
| Agent 提示 | 「正文只做承接(2-4 句)」;「接下来我们继续」 | 「正文只做承接」+「证据轮正文只写一句复述」;题干作下一段 | BUG-606 |
|
||||
| 流式三句证据 | `answerText` 等于模型全文 | 落库首句,并以 `replace: true` 覆盖可见正文 | BUG-606 服务端裁剪 |
|
||||
| 只报一件后的下一问 | 未单独锁;有插追问轮风险 | 下一问 = 既有 dated collect(education 后是 family);正文无「还有吗 / 别的吗」 | `54adb0d1`;邀请不是要求 |
|
||||
| 第一道逐领域题干 | 等于 `USER_COLLECT_QUESTION.*` | 末尾一次接「想到别的也可以一起说。」;第二道起不再接 | 不是独立追问轮 |
|
||||
| Skill 10.0.19 哈希 | `a21b33abbbe3a530d725b94719b57ff8417cfcb850c54b547d5c18e390ec3d2b` | `a68885d3cf2110ee456bff65210c60e6bef4da4ea45e2a790a5462fd6d7307c8` | OpeningPolicy 补单事件口径;版本不升 |
|
||||
|
||||
## 测试
|
||||
|
||||
- `frontend` `./node_modules/.bin/tsc --noEmit`:exit 0
|
||||
- `npm run lint`:0 errors / 108 warnings(仓库基线 warning,无新 error)
|
||||
- 任务书指定切片:`tests/rectification-*.test.ts` + `agent-voice-copy-contract.test.ts` + `skill-registry.test.ts`(排除 database):**1066 tests / 1066 pass / 0 fail**(含新增「single confirmed domain opening goes to dated collect without a chase-more turn」)
|
||||
- Docker `database-rectification-*.test.ts`:本机未跑,记 blocked
|
||||
- 浏览器真人走查:browser MCP 可用但无打开的页、无登录态的 `collect_spoken` 会话,未点到「没有 / 记不清」。采集按钮与 44px、不复用 `rectification-step-state` 由 `rectification-spoken-collect.test.ts` 锁源码。本补丁只改题干后缀与路由,无新 UI。
|
||||
|
||||
Skill 10.0.19 SHA256:`a68885d3cf2110ee456bff65210c60e6bef4da4ea45e2a790a5462fd6d7307c8`。live 树与 `versions/10.0.19` 一致,registry 哈希与 `computeSkillPackageSha256` 一致。
|
||||
|
||||
## 偏离 / blocked
|
||||
|
||||
1. 预检系统 Python 3.14、无 pytest、无 swisseph(ERR-078)。**不声称预检通过。** 远端可见性此前已核过。
|
||||
2. 本机主仓停在 `codex/minute-rectification-p0` 且有脏文件;未 checkout / reset / stash。本单只在本 worktree。
|
||||
3. `move_agent_to_root` 对子代理不可用;全程用本 worktree 绝对路径。
|
||||
4. `.venv` 是指向主仓的 symlink,不提交。
|
||||
5. `origin/staging` 在切出后超前(含 `54adb0d1` 任务书补丁、`d5972ef4` BUG-607)。只把 `54adb0d1` 的 §2.1 单事件口径摘进本 TASK;**不**取 BUG-607,不 merge staging,不 push。
|
||||
6. BUG_HISTORY BUG-604/605/606 修复版本:`aa7ccb30`(产品提交)。单事件开场补丁是新提交,不 amend。
|
||||
7. 点选旁白测试里,若下一问未能单独落库,服务端仍可能把采集题干接在「已记录,范围收到…」后面。断言改为前缀匹配,不把下一问挂载当成旁白模板的一部分。
|
||||
@@ -85,7 +85,7 @@
|
||||
| `TASK-rectification-ux-20260902.md` | `PROGRESS-rectification-ux-20260903.md` | 会话面空白假死与交互摩擦 | 已验收 | `d159f08e`(09-03 在新基线重做后合入,BUG-505~509) |
|
||||
| `TASK-rectification-timeline-20260909.md` | — | 常驻吸顶时间轴:轴锁**当前**搜索窗口并随放宽缩放、时段/分钟两套标记、候选点二元编码不分置信度(BUG-560 blocked)、无 hover(BUG-575)、只读不可采用。实现用第三个 grid 行而非 `position: sticky`,`useConversationScrollAnchor` 一行不改;条高固定是正确性要求;吸顶条只留区间与宽度两个元素 | 已验收通过;宽度口径与空心点两处未通过→修复单 | `ce91a0d2` |
|
||||
| `TASK-rectification-timeline-fix-20260909.md` | `PROGRESS-rectification-timeline-fix-20260909.md` | 时间轴修复单:宽度读数改含两端分钟数(与 BUG-593 报告/卡片一致);标记改读推断层候选全集,被淘汰分钟留在原地变空心(客户端投影只含 active,DESIGN §10 描述在真实数据下画不出) | 待验收 | `92e3d5e7`(BUG-602~603) |
|
||||
| `TASK-rectification-conversation-economy-20260909.md` | `PROGRESS-rectification-conversation-economy-20260909.md` | 对照竞品后产品拍板三条:开场三句讲做法 + 一次收多件(推翻 opening brief「不要一次说完/不举例」与 SKILL L52);采集题「没有 / 记不清」按钮(不做示例骨架条);每轮只留一句(方法句进活动记录、点选旁白去领先落后、证据轮正文一句复述 + 服务端裁剪);Skill 10.0.19 | 待执行 | `codex/rectification-conversation-economy-20260909`(BUG-604~606) |
|
||||
| `TASK-rectification-conversation-economy-20260909.md` | `PROGRESS-rectification-conversation-economy-20260909.md` | 对照竞品后产品拍板三条:开场三句讲做法 + 一次收多件(推翻 opening brief「不要一次说完/不举例」与 SKILL L52);采集题「没有 / 记不清」按钮(不做示例骨架条);每轮只留一句(方法句进活动记录、点选旁白去领先落后、证据轮正文一句复述 + 服务端裁剪);Skill 10.0.19 | 待验收 | `aa7ccb30`、`1453fb16`(BUG-604~606) |
|
||||
|
||||
### 聊天主链路与首页
|
||||
|
||||
|
||||
Reference in New Issue
Block a user