refactor(home): 校正面 15 个状态从 Home 下沉
Independent Staging Quality Gate / validate (push) Failing after 6m43s
Independent Staging Quality Gate / publish (push) Skipped

Home() useState 66->52, useRef 41->39. Shell-facing fields merge into one object;
subtree state lives in useRectificationSurface. Chat props 20->7. Growth contract
rebaselined. Zero behavior/copy change.
This commit is contained in:
jesse-ux
2026-09-16 08:33:48 +08:00
parent 3b17c1b242
commit f8e607c29a
10 changed files with 448 additions and 122 deletions
@@ -0,0 +1,88 @@
# 真机清单 · 校正面状态下沉后行为是否与改前一致(2026-09-15)
对应 `TASK-home-state-lowering-20260915`。自动化锁的是状态住处与源码合同,**锁不住**真实进入/退出/刷新/开场/只读/报错。本仓没有浏览器与登录态,下面这些必须用已登录的 staging 做。
地址:`https://staging.jyotisha.chat`。截图不要带真实姓名、出生资料或会话内容。本单**零文案、零交互改动**;任何和改前不一样的地方都记为失败。
先看 `GET /api/health``deployment.gitCommit` 是否等于本单合入 staging 后的 SHA。不一致 = 先别测。
## 1. 从首页卡片进入
1. 停在首页(资料已齐、有「生时校正」卡)。
2. 点卡片。
- ✅ 卡面在打开期间显示「正在打开」,光标 `progress`;没有转圈、没有骨架。
- ✅ 主栏一次揭开校正面:已有对话的话不是空白再闪出来。
- ✅ 左侧当前会话高亮对上;地址栏带 `?c=`
- ❌ 先闪普通聊天再切校正;或空白题目区等加载。
## 2. 退出校正面
1. 在校正面点左侧一条普通咨询会话,或点「新对话」。
- ✅ 校正面关掉,普通聊天/首页回来;输入框是原来那一套,没有第二套。
- ✅ 校正会话仍在左侧历史里,标题还在。
## 3. 刷新
1. 打开一场校正后按浏览器刷新。
- ✅ 刷新后仍是这场校正(`?c=` 还在),不是掉回首页、也不是空白。
- ✅ 已结算的回合还在,不是重跑开场。
## 4. 首页卡片打开(新建 / 继续)
1. 没有未完成校正时点卡片:应新建。
2. 有未完成校正时点卡片:文案仍是「新建一段独立校正…」,行为与改前一致(左侧历史可继续未完成的)。
- ❌ 点卡片却打开了别人的场,或首页卡把侧栏错误画到卡下。
## 5. 历史校正
1. 停在首页,不要先点卡片。
2. 点左侧一条历史生时校正。
- ✅ 主栏打开该场;点了有反应。
- ✅ 若打开失败:错误出现在被点的那一行下面,首页起始卡不重复同一条。
## 6. 开场自动触发
1. 打开一场**还没有回合**、服务端标记要开场的新校正。
- ✅ 进入后自动开始第一轮,不必再点「开始」。
- ✅ 已有回合的历史场不会再自动开一场。
## 7. 只读
1. 打开一场已经结束 / 只读的校正。
- ✅ 输入框不可用;不能再采题。
- ✅ 已有区间卡/对照仍在原位。
## 8. 报错
1. 资料不齐时点卡片:应回到资料补全,提示「请先完成出生资料,再开始生时校正。」
2. 打开失败(网络或服务):首页卡下或侧栏行下有可见错误,可以再点。
- ❌ 点了没反应、也没有错误。
## 9. 换模型
1. 校正面底部的模型选择与改前同一套控件。
2. 换一个模型后再发一条(或等当前轮结束再换)。
- ✅ 仍是这场校正,没有重挂、没有丢历史。
## 10. 采用后回首页
1. 若账号里有已采用结束的场:从左侧打开,再切回首页(新对话或一条普通咨询)。
- ✅ 回得去;首页校正卡还在;没有第二套输入框、没有转圈。
## 375px
视口 375px 再走 1、2、5。窄屏下进入/退出仍是一次揭开,没有第二套输入框。
## 结论
> 待填。测完写日期 + 设备 + 浏览器 + 逐条正常/有问题。测不了就写「未测」,不要写成通过。