Files
Jyotisha/docs/testing/home-state-lowering-batch2-20260916.md
T
Jesse_ChenandClaude Opus 5 7ae6df3ebb
Independent Staging Quality Gate / validate (push) Failing after 6m17s
Independent Staging Quality Gate / publish (push) Skipped
docs(tasks): 状态下沉第二批进度记录与真人走查清单
进度记录含三簇 20 个状态的分类表(每个写明谁在读)、改前改后实测、
既有断言改动的三栏说明、反向验证、lint warning 逐条比对、以及
session 簇留 4 个在外壳的让步说明。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUei7K13cYxLHE3Axe4A45
2026-09-16 02:02:22 +00:00

172 lines
7.2 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.
# 真机清单 · 状态下沉第二批(synastry / profile / session)行为是否与改前一致(2026-09-16)
对应 `TASK-home-state-lowering-batch2-20260916`。自动化锁的是状态住处、hook 调用顺序与源码合同,**锁不住**真实的合盘请求、头像上传、会话列表翻页与归档。本仓没有浏览器与登录态,下面这些必须用已登录的 staging 做。
地址:`https://staging.jyotisha.chat`。截图不要带真实姓名、出生资料、邮箱或会话内容。本单**零文案、零交互改动**;任何和改前不一样的地方都记为失败。
先看 `GET /api/health``deployment.gitCommit` 是否等于本单合入 staging 后的 SHA。不一致 = 先别测。
---
## A. 合盘(synastry 簇:4 个状态搬进 `useSynastry`
### A1. 发起一次合盘
1. 设置 → 星盘库,选一条「其他人」的盘。
2. 关系类型下拉切到「商业合作」,再切回「恋爱」。
3. 点「用于合盘」。
- ✅ 下拉每次切换都立刻生效,不回弹默认值。
- ✅ 点下后按钮变「正在计算合盘...」,**这一条盘的按钮**禁用;期间其他盘的「用于合盘」也点不动。
- ✅ 底部提示「正在计算基础合盘证据,请稍候。」
- ✅ 算完后弹窗关闭,输入框里出现合盘问题草稿 + 证据摘要;恋爱走 `Ashtakoot x/y`,商业走「已完成基础商业合作证据筛查」。
- ❌ 按钮卡在「正在计算合盘...」不恢复;或算完弹窗没关;或摘要跑到错误的关系类型文案。
### A2. 合盘失败的三种提示
分别制造:对方盘没存云端(404)、连点多次触发限流(429)、后端不可用。
- ✅ 404 →「请先把对方星盘保存到云端,再用于合盘。」
- ✅ 429 →「合盘请求过于频繁,请稍后再试。」
- ✅ 其它失败 →「合盘计算暂时不可用,已先生成问题草稿。」且草稿仍然写进输入框。
- ✅ 任何一种失败后按钮都恢复可点。
### A3. 合盘历史
1. 成功合盘一次后重开星盘库。
2. 退出登录、换一个账号登录,再开星盘库。
- ✅ 刚才那张合盘卡在历史里,最新的排最前,最多 10 条。
- ✅ 云端历史读不出时出现「合盘历史暂时无法读取,请重试。」且**带一个「重试」按钮**,点它会重新拉。
- ✅ 换账号后历史清空,不残留上一个账号的合盘卡。
- ❌ 历史越积越多超过 10 条;或换账号后还看得见旧账号的对方姓名。
---
## B. 资料与头像(profile 簇:6 个状态搬进 `useProfileOnboarding`
### B1. 首次引导三步
用一个资料未填完的账号:
1. 输名字 → 继续。
2. 填出生日期时间 → 继续。
3. 选出生地 → 确定。
- ✅ 每一步提交时按钮变「保存中」并禁用,完成后回到可点。
- ✅ 三段对话气泡按原来的顺序逐字出现,文案一字不变。
- ✅ 出生时间没填全时「继续」按钮保持禁用;出生地没选时「确定」保持禁用。
- ✅ 三步走完落到正常首页,没有多出一次加载动画或空屏。
- ❌ 按钮一直「保存中」;或某一步保存后气泡重排/重播。
### B2. 改出生资料
1. 完整资料下进设置 → 星盘库 → 本人盘,改一个字段并保存。
- ✅ 保存中按钮禁用并显示「保存中」。
- ✅ 保存成功后弹窗里的提示文案与改前一致。
- ✅ 关掉弹窗回首页,首页与侧栏的姓名/首字母跟着更新。
- ✅ 若改的是出生时间声明,随后触发的评估流程与改前一致。
### B3. 头像
1. 设置 → 个人资料 → 换头像。
- ✅ 上传中按钮禁用,成功/失败提示文案与改前一致。
- ✅ 失败后提示留在个人资料面,不串到星盘库面。
- ✅ 换完后侧栏头像立即更新。
### B4. 退出登录
1. 设置 → 退出 → 确认退出。
- ✅ 按钮变「正在退出」并禁用,取消按钮同时禁用。
- ✅ 最终**整页硬跳** `/login`(地址栏变化 + 页面白屏重载),不是前端路由软跳。
- ❌ 退出后还能按浏览器后退看到上一位用户的对话。
---
## C. 会话列表(session 簇:6 个状态搬进 `useSessionManagement`
### C1. 列表加载与翻页
1. 用一个会话很多的账号进首页。
2. 滚到侧栏底部点「加载更多」。
- ✅ 首屏列表顺序与改前一致(置顶在前,按更新时间降序)。
- ✅ 「加载更多」只在**确实还有下一页**时出现;加载完最后一页后它消失。
- ✅ 连点两次不会重复插入同一批会话。
- ❌ 加载更多后列表顺序乱了,或出现重复标题。
### C2. 归档视图
1. 点侧栏「查看已归档」,再点回来。
- ✅ 两个视图的会话集合互不重叠:归档视图只显示已归档,正常视图只显示未归档。
- ✅ 当前正在看的会话即使被过滤条件排除,也仍然留在列表里(原有规则)。
- ✅ 切换视图时**会话菜单自动收起**。
- ✅ 归档数量角标与实际归档条数一致。
### C3. 会话菜单
1. 在一条会话上点「⋯」。
- ✅ 同一时刻只有一个菜单展开;点另一条会自动关掉前一个。
- ✅ 生成回答中(有进行中的咨询)时菜单项按原规则禁用。
### C4. 重命名 / 置顶 / 归档 / 分享
逐个操作一遍。
- ✅ 每项的提示文案、成功后的列表位置变化与改前一致。
- ✅ 置顶后该会话上移到置顶区;取消置顶后回到时间序。
### C5. 删除
1. 菜单 → 删除。
- ✅ 弹出确认框,正文是「“<标题>”将被永久删除,无法恢复。」
- ✅ 点遮罩、点「取消」都能关掉且**不删**。
- ✅ 确认后会话消失,若删的是当前会话则自动落到列表里的另一条。
- ❌ 确认框标题串成了别的会话。
### C6. 切换会话与消息加载
1. 点一条从没打开过的历史会话。
- ✅ 正文一次揭开,不出现转圈/骨架/「正在加载」。
- ✅ 地址栏 `?s=` 跟着变;浏览器前进后退能在会话之间来回。
- ✅ 快速连点多条不会把消息错插到另一条会话里。
### C7. 模型切换与同步失败
1. 在一条会话里换模型。
2. 断网后再换一次。
- ✅ 换模型立即生效,刷新后仍然是新模型。
- ✅ 同步失败时的提示与改前一致,恢复网络后重试能成功。
### C8. 写满后开新对话 / 继续到新对话
- ✅「在新对话里继续」按原样新建会话并带上上下文,左侧新增一条。
- ✅ 新建期间「新对话」按钮禁用,不会连点出两条。
---
## D. 校正入口没被牵连(本单挪动了 hook 调用顺序)
1. 首页点「生时校正」卡。
2. 从侧栏点一条历史校正会话。
- ✅ 首页卡在打开期间显示「正在打开」,随后一次揭开校正面。
- ✅ 从侧栏打开历史校正仍然能进去(这条走 `rectificationSessionOpenerRef`,本单挪了 hook 顺序,必须实测)。
- ❌ 点历史校正没反应、或落到空白普通聊天。
---
## E. 首屏观感
- ✅ 揭幕后不出现 spinner / 骨架 / 「正在加载」(流式生成中除外)。
- ✅ 输入框只有一个,滚动跟随只有一套。
- ✅ 首屏体积与改前无肉眼差别(自动化实测 gzip 变化 +0.009 %)。