Files
Jyotisha/docs/tasks/PROGRESS-session-title-guard-fix-20260906.md
T
Jesse_Chen 0102a973a3 fix(web): persist generated session titles against the post-RPC title (BUG-557)
The first-round title guard compared the pre-RPC snapshot, so append_consultation_question had already rewritten the title and the model name never landed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 19:22:43 +08:00

42 lines
1.9 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-557)(2026-09-06
工作树:`.worktrees/session-title-guard-fix-20260906`
分支:`codex/session-title-guard-fix-20260906`
基线:`origin/staging` @ `e2d6f203`(含任务书;代码基线 `e2f4b55c`)。
未改迁移、未改客户端、未改 `session-title-agent.ts`、未 bump Skill。本单不加 SQL。
| 任务 | 状态 | BUG |
| --- | --- | --- |
| 5.1 守卫取 RPC 后标题 | 完成 | BUG-557 |
| 5.2 BUG_HISTORY / CHANGELOG / testing | 完成 | — |
## 实现要点
- `shouldGenerateSessionTitle` 仍用 RPC 前的 `chatSession.title`,避免 ≤14 字问题被当成手改标题。
- `append_consultation_question` 成功后再 `select("title")`
- 写入走 `persistGuardedSessionTitle``.eq("title", titleAfterRpc)` + `.select("id")`0 行 `console.warn("session title guard missed")`。流事件仍返回 `session.title`
## 既有断言改动
| 文件 | 原值 | 新值 | 原因 |
| --- | --- | --- | --- |
| `application-billing-contract` | 只锁 consult select 含 `title` | 另锁守卫用 `titleAfterRpc` | BUG-557 |
## 测试
| 命令 | 结果 |
| --- | --- |
| `npx tsx --test tests/session-title-persist-contract.test.ts tests/application-billing-contract.test.ts tests/session-title-agent.test.ts` | 17 pass / 0 fail |
| `./node_modules/.bin/tsc --noEmit` | 0 错 |
| 改动文件 `eslint --quiet` | 0 error |
## SQL(本单未改;清点给产品)
相对上次有记录的 staging 部署树 `afd14948`,仓里还多出两份未随本单应用的迁移,部署前仍要跑 Gitea **Migrate Staging Database**
1. `20260905010000_personal_report_longform_appendices.sql``bab07187`,全量附录表)
2. `20260906010000_chat_session_context_summary.sql``bf8ad0d1``chat_sessions.context_summary`
本机无 staging 库口令,不能读 `migration.schema_migrations` 做现场核对。