docs(tasks): add T8-T10 (report scroll, repeated heading, name order) to #85 brief

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
This commit is contained in:
Jesse_Chen
2026-10-21 16:38:05 +08:00
co-authored by Claude Opus 5.5
parent fac29c0410
commit 792f64ec32
@@ -17,6 +17,9 @@
| 5 | 开关读取失败时显示「星盘档案暂时读不出来」(读的是开关不是档案);开关关闭时先闪一下选人页再变「合盘服务暂未开放」 | `components/synastry/synastry-picker.tsx` 的 `load` |
| 6 | `docs/BUG_HISTORY.md` 里 BUG-1397 整段写了两遍 | `006b067e8` |
| 7 | 点「开始合盘」后跳到等待页,侧栏亮的是「我的报告」而不是「婚恋合盘」,浏览器标签标题是「个人报告」 | `components/synastry/synastry-picker.tsx` 创建成功后 `window.location.assign(\`/reports/${id}\`)`,「之前的合盘」也链到 `/reports/:id`;`components/app-sidebar.tsx` 按 `pathname.startsWith(href + "/")` 点亮;`app/(app)/reports/[reportId]/page.tsx` 的 `metadata.title` 写死「个人报告」。#82 任务书 T8 只写「跳到阅读页」,没规定合盘报告的归属——任务书遗漏,不是执行错 |
| 8 | 合盘报告页在电脑上「不能下滑」:鼠标在正文两侧空白处滚轮不动 | `app/globals.css` 的 `.synastry-report` 自己是滚动容器(`width: min(720px, 100%)` + `overflow: auto`),两侧空白属于 `.chat-panel`(`overflow: clip`),滚轮落在空白处无处可滚。个人报告是整宽的 `.personal-report-reader` 滚动、内层居中。来自 `67c1e6881` 重排 |
| 9 | 第三节正文开头重复了标题(「沟通与理解 沟通与理解 沟通的天气…」) | 模型写稿时把节标题写进正文,保存与质检都没拦 |
| 10 | 等待页写「岳辰 × 林瑶」,报告标题写「林瑶 × 岳辰」,同一份报告两人顺序不一致 | 未定位:等待页用选人页传入的顺序,报告用 `synastry-full-run.ts` 存的 `names`;执行方开工时先定位 |
## 决策记录(产品负责人 2026-10-21)
@@ -25,6 +28,7 @@
| K1 | 第 4 条选 **B**:被删模型绑定的旧对话,下一轮**自动改用当前默认模型**继续,不报错;对话里不另行提示(模型名在设置里本来就能看到) |
| K2 | 第 2、3 条按 #82 原定:时间线每段显示起止年月;英文报告同样有「分析逻辑」和时间线依据(英文内容来自英文那一次生成,不翻译中文) |
| K4 | 第 7 条(10-21 产品确认):合盘报告有自己的地址 `/synastry/:reportId`,阅读组件仍复用同一个;侧栏点亮「婚恋合盘」,标签标题「婚恋合盘 · Jyotisha」。旧地址 `/reports/:id` 打开合盘报告时自动转到新地址(`replace`,不留历史),已分享的旧链接继续可用 |
| K5 | 第 8~10 条(10-21 产品确认)并入本单:整块区域可滚、正文居中;正文开头重复的节标题去掉并让质检拦住;两人顺序一律按选人页选择的顺序(甲在前) |
| K3 | 定价 `synastry.full` 19 点维持(已在 staging 生效) |
## 硬红线
@@ -45,6 +49,9 @@
| T4 | 英文报告恢复「分析逻辑」(Analysis)与时间线依据,折叠方式与中文一致;DESIGN.md 补一句 | 渲染测试:英文模式下每个正文节都有折叠块 |
| T5 | K1:对话解析不到绑定的模型时,改用当前默认模型继续,并把会话的 `model_id / model_config_version` 更新成新模型;没有任何可用模型时才报现有的「模型不可用」 | 单测:被删版本的会话下一轮用默认模型;无默认模型时仍报错 |
| T7 | K4:新增 `app/(app)/synastry/[reportId]/page.tsx`(复用 `PersonalReportPage`,标题「婚恋合盘 · Jyotisha」,保留 `?lang=`);选人页「开始合盘」跳转与「之前的合盘」链接改新地址;报告中心列表里合盘卡片直接链新地址;`/reports/:id` 读到的是合盘报告时 `router.replace` 到 `/synastry/:id`(带上 `lang`);新地址打开的若是个人报告则反向转回 `/reports/:id`;合盘报告页左上「‹ 婚恋合盘」返回不变 | 渲染/路由测试:新地址下侧栏「婚恋合盘」为当前项;旧地址合盘报告触发 replace 到新地址且保留 `lang`;个人报告不受影响;DESIGN.md 补一句 |
| T8 | **最先做**:合盘报告由外层整宽容器滚动(与 `.personal-report-reader` 同法),`.synastry-report` 只负责居中排版,不再自带 `height:100%`/`overflow`;手机与打印不退化 | 样式/渲染测试断言滚动容器是整宽外层;PROGRESS 写明桌面滚轮在两侧空白处可滚的人工步骤 |
| T9 | 保存前去掉每节正文开头与节标题相同的文字(中英文都做);质检规则增加「正文以节标题开头」判不合格并触发重写 | 单测:正文以「沟通与理解」开头时保存结果不含重复;质检对该样例报错 |
| T10 | 定位第 10 条根因;等待页、报告标题、报告中心卡片、对话标题四处两人顺序一致,按选人页顺序 | 单测:甲乙顺序贯穿创建→存储→阅读页标题 |
| T6 | 选人页:开关读取失败显示「合盘服务暂时连不上,请稍后再试」;开关结果回来之前不渲染选人区(只渲染标题和副标题);删掉 BUG_HISTORY 里重复的 BUG-1397 一段;CHANGELOG、PROGRESS(含真机复测步骤:选两人生成一份、等待页、报告揭幕、切英文、从末尾进对话问一节) | 渲染测试;文档齐 |
## 已完成(Claude 直接执行,产品负责人 10-21 授权「P0 你改吧,其余交给执行方」)
@@ -53,7 +60,7 @@ T1、T2 已由 Claude 在 `codex/synastry-gte-fix-20261021` 完成并推 staging
## 让步顺序
T1、T2 最先做,单独一个提交先推 staging(门禁绿、部署后告知产品负责人可以复测生成);T3~T7 随后。
T1、T2 最先做,单独一个提交先推 staging(门禁绿、部署后告知产品负责人可以复测生成);T8 先单独推一次,T3~T7、T9、T10 随后。
## 开工前置命令