Files
Jyotisha/docs/tasks/PROGRESS-rectification-open-retitles-session-20260915.md
T
jesse-ux f51e494c5a
Independent Staging Quality Gate / validate (push) Failing after 6m45s
Independent Staging Quality Gate / publish (push) Skipped
fix(chat): keep rectification sessions findable and keep the delivery card
Rectification answers now advance chat_sessions.updated_at (BUG-704).
A ?c= id missing from the loaded page is fetched before anyone may call
it deleted (BUG-705). The range card no longer has a post-card tie-break
button; live questions leave the card visible with adopt locked
(BUG-706/708). Spoken copy bans 相对支持度 (BUG-709).

Task docs assigned 700-704; qizheng already took 700-703.
2026-09-15 17:10:53 +08:00

42 lines
3.0 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 · 校正会话列表身份(BUG-699 / 704 / 7052026-09-15
- 执行分支:`codex/rectification-p0-20260915`(与交付卡单同一分支,两单文件几乎不重叠,一次推 staging)
- 工作树:`.worktrees/rectification-p0-20260915`
- 基线:rebase 后 `origin/staging` @ `d3a2c48b`
## 做了什么
任务 1–2、4(BUG-699)此前已由 `2d7698ea` 合入 staging。本轮补任务 5 / 6 与任务 3 的 `updated_at` 回填。
任务 1.3 `messages: []`**无害,保持原样。** `persistSession` 的 update 不写 `messages`,也不写 `updated_at`
任务 5BUG-704):新增迁移 `20260915010000_rectification_touch_chat_session.sql``agentic_rectification_cases.last_activity_at` 推进时,触发器把对应 `chat_sessions.updated_at` 推到同一时刻,且不得回拨。打开 / GET / 元数据 PATCH 不碰 `last_activity_at`,因此不 bump。`persistSession` 仍不写 `updated_at`
任务 5.3 / 任务 3:运维脚本 `frontend/scripts/repair-rectification-session-titles.mjs` 同时统计并(`--apply`)修:
1. 日期标题与 `created_at` 的 Asia/Shanghai 月日不一致的校正会话(原任务 3)。
2. `updated_at` 早于最后一条 turn / `last_activity_at` 的校正会话。
默认只读。本机没有 `SCHEMA_DATABASE_URL`**staging 未跑**,损坏面数字待产品在 staging 执行后回填。
任务 6BUG-705):`resolveBootstrapSessionSelection` 对未出现在已加载页的合法 UUID 返回 `lookup`,不再直接 `missing``resolveLookupBootstrap``GET /api/sessions/{id}`200 并进列表并选中;404 才 `SESSION_MISSING_NOTICE` 并清 `?c=`;5xx 保留 URL,提示「这条对话暂时读不到,请稍后重试。」popstate 走同一条 lookup。非法 `?c=` 仍立即 missing。
任务 6.3 侧栏高亮:lookup 命中后 `mergeHydratedSession` 把该会话并进本地列表,`visibleSessions``sortSessions`,当前项可以高亮。不依赖无限滚动把它翻出来。无限滚动本身未改。
## 测试数字
定向见本提交的前端测试。全量 `npm test` 数字写在同分支的交付卡 PROGRESS。
## 生产 `7b620c7a`
该 SHA 没有 `use-rectification-surface.ts`。当时 `page.tsx``merged` 用固定标题「生时校正」,没有墙钟日期,也没有 `persistSession(merged)`。生产不受「标题写成今天并写库」影响。任务 3 **不必在生产跑**。BUG-704 / 705 的代码路径当时也不同;生产是否要跑 `updated_at` 回填由产品定,默认不必。
## 编号冲突
任务书预占 BUG-700 / 701。七政单随后写入了 BUG-700703,星历页占了 BUG-707。本轮落地号:**BUG-704**(校正 `updated_at`)、**BUG-705**`?c=` lookup)。交付卡单用 706 / 708 / 709。
## 偏离
- 任务 3 / 5.3 staging 核对因本机没有库连接而未跑。产品在 staging 跑:`node frontend/scripts/repair-rectification-session-titles.mjs` 看行数,确认后加 `--apply`
- 浏览器项见 `docs/testing/rectification-open-identity-20260915.md`,不得写成通过。