Files
Jyotisha/docs/tasks/PROGRESS-chat-subject-picker-20260922.md
T

35 lines
2.7 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.
# 进度 · 开始聊天选择人物(2026-09-22
基线:`6d06fca0d878403dc1fab646a20c5b8ef7447fd5`(开工时 `origin/staging`)。分支 `codex/chat-subject-picker-20260922`。未推送,未部署。
## 做了什么
- 普通咨询顶栏的静态人名改成 `ChatProfilePicker`。读屏名称是「当前星盘:人物名」,看见的字只有当前人物名。
- 新对话默认本人,不读 `activeChartId`。空会话里点另一个人,只改这一段还没开口的绑定。还没落库的空会话把 id 留在本地,第一条消息的 `POST /api/sessions` 带上它,姓名和角色由服务端填写。已经落库、仍没有消息的空会话只 `PATCH` id 和角色,不提交客户端姓名,再读回服务端姓名。
- 已经有消息的会话不改绑。点另一个人只有「新建会话并使用此人物」。回答还在进行时这个动作不执行。
- 打开历史会话不再把该人物写回账户级 `activeChartId`。深链和刷新仍只用库里的绑定。
- 人物列表加载中或失败时不创建绑定,也不把缺列表说成「资料已删除」。资料确认已删除后,旧会话还能看,发送被挡住,不退回本人。资料改名后,选择器显示资料里的现名,不改写已锁定会话的快照。
- 报告、每日星语入口和生时校正不挂这个选择器。校正顶栏仍是原来的静态 chip。
## 断言变更
没有改既有断言的期望值,也没有删测试名。`chart-library-session``session-open-preserves-identity``chat-session-write``chat-session-authority` 各加了一条,原断言仍在。
| 测试 | 原值 | 新值 | 原因 |
| --- | --- | --- | --- |
| 无 | — | — | 本轮只加断言,没有把旧期望改松 |
## 验证
- `tsc --noEmit`:通过。
- `npm run lint`0 error。既有 warning 未改。
- `npx tsx --test` 定向:`chat-profile-picker` 10、`chart-library-session` 6、`session-open-preserves-identity` 5、`chat-session-write` 17、`chat-session-authority` 10、`home-shell-growth-contract` 4,加上同批的 `chat-session-url``composer-isolation-contract``consultation-subject-binding`。合计 79 pass / 0 fail;收尾再跑前六个文件 52 pass / 0 fail。
- 未跑全量 `npm test`,未跑 `next build`
- `Home()``useState` 34(上限 36),`useRef` 37(上限 37),都没有新增调用。`page.tsx` 1844 行,低于 1846 + 150 的粗护栏。
- 没有登录态。浏览器点击未验收,见 `docs/testing/chat-subject-picker-20260922.md``BLOCKED.md`
## 没动
- `starter-home.tsx`、starter-entry CSS、`consult/route.ts``docs/tasks/README.md`
- 没有改表,没有改服务端 resolver 的失败即关闭语义。