Merge latest staging before publishing BUG-1105 research
Independent Staging Quality Gate / validate (push) Successful in 12m39s
Independent Staging Quality Gate / publish (push) Successful in 3m34s

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
jesse-ux
2026-09-30 08:50:03 +08:00
co-authored by Claude Code
26 changed files with 876 additions and 114 deletions
+69
View File
@@ -14959,3 +14959,72 @@
- 防复发:真机复测后更新本条状态;若仍复现需真机录屏与 Safari 版本。
- 相关记录:TASK-report-english-edition-20260929
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1109 | 首页今日星语靠模型改写,读起来像固定句,还会在同一天里被后台改写换掉
- 状态:resolved(代码 + 回归测试;未部署)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`app/api/daily-starlanguage/route.ts`、新增 `lib/daily-starlanguage-library.ts`、`lib/home-types.ts`。
- 用户现象:产品反馈「标题后面这句好像都是固定的,可以不走大模型,咱们设计一套」。
- 根因:路由先用 `composeDailyStarlanguageCard` 按 12 宫主题出一张确定句卡,再 `scheduleAgentPolish` 让模型在后台改写并覆盖同日缓存;模型只拿到「月亮第几宫、大运主星」等几个字段,改写结果同质;覆盖后下一次请求拿到的是另一句,页面上会换字。
- 修复:句库 `composeDailyCard`(12 宫 × 3 句 + 4 月相 × 2 尾句 + 每宫 action / caution 各 2 句;无宫位按星座 12 句;再无按旧证据句),路由去掉模型目录读取与模型调用,`source: "library"`。模型 agent 定义(`mastra/index.ts`)保留未删,仍被既有测试引用。
- 验证:`frontend/tests/daily-starlanguage-library.test.ts`(6 条:库完整、144 组合全部合法且 ≤90 字、同日同句且相邻日不同、月相与已知新月/满月对得上、未确认出生时间走星座兜底、路由无模型调用);`daily-starlanguage.test.ts` 两处断言按三栏更新。
- 防复发:今日星语的句子只来自句库文件;路由测试禁止重新引入模型调用。
- 相关记录:BUG-1110
- 复发自:无
- 修复版本:分支 `codex/daily-line-library-20260930`
## BUG-1110 | 从次级页点「新建对话」进首页,今日星语先显示占位句再突然换成真句子
- 状态:resolved(代码 + 生命周期回归测试;真机欠)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`lib/home-warm-prefetch.ts`、`lib/session-list-context.tsx`。
- 用户现象:产品「现在跳转的时候还会突然变一下,很反直觉」。
- 根因:BUG-1104 的次级页预取只填模型目录与校正入口摘要,暖快照的今日星语槽位为空;首页暖启动 `warmDaily`(`lib/home-warm-start.ts`)读不到本日卡片即给 `pending`,首帧显示「今天的星语还没写出来。」,随后 `DailyStarlanguageBinder` 请求返回再替换。另一来源是 BUG-1109 的后台模型改写使同日两次请求句子不同。
- 修复:预取时再为本人按同一键(人物 + 资料指纹 + 当地日期)调用同一个 `fetchDailyStarlanguage`,结果写入 `rememberHomeWarmDaily` 与本地存储;失败或无卡片不写任何东西。他人档案为当前人物时暂不预取。
- 验证:`home-warm-return-lifecycle.test.tsx` 两条 BUG-1104 用例扩展为同时断言首帧已含今日星语、无占位句(请求清单断言按三栏更新:多一条只读的 `POST /api/daily-starlanguage`);关掉预取后该用例失败。
- 防复发:首页首帧会显示的每一项,都要能从预取或暖快照拿到;新增首页首帧元素时同时加进预取。
- 相关记录:BUG-1040、BUG-1104、BUG-1109
- 复发自:BUG-1104 的遗漏
- 修复版本:分支 `codex/daily-line-library-20260930`
## BUG-1111 | 首页常驻「上次那次校正还没完成,可以在历史对话里接着做。」
- 状态:resolved(代码 + 回归测试)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`components/starter-home.tsx::rectificationEntryHint`。
- 现象:有未完成的校正时首页入口下方一直挂着这句提示;产品要求去掉。
- 修复:`rectificationEntryHint(rectificationForSelf)` 只保留「生时校正暂时只支持本人。」一句;未完成的校正仍在历史列表里。
- 验证:`starter-home-polish-20260926.test.tsx`、`rectification-agentic-entry.test.ts`(断言三栏更新)、`surface-feedback-20260929.test.tsx`。
- 相关记录:BUG-1041、TASK-starter-home-polish-20260926 D2
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1112 | 星盘类型面板里每格的说明文字被截掉下半截 / 显示不全
- 状态:resolved(代码 + 回归测试;iPhone 真机欠)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`globals.css .chart-page-type-cell small`。
- 根因:说明行 `white-space: nowrap; overflow: hidden`,行高沿用按钮的紧行高,iPhone 上中文字形下半被裁;「以月亮为第 1 宫」这类长说明只能省略。
- 修复:说明行行高 1.4、最多两行(line-clamp),格子最小高 56 → 64px。
- 验证:`chart-type-picker.test.tsx`(三栏)、`surface-feedback-20260929.test.tsx`。
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1113 | 星盘、星历加载时写「这一张盘还没拿到。」「这一天的星历还没拿到。」
- 状态:resolved(代码 + 回归测试 + 本机手机视口截图)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:新增 `components/orbit-waiting.tsx`;`secondary-page-shell.tsx`、`chart-page-skeleton.tsx`、`chart-dasha-tab.tsx`。
- 现象:几秒内就会加载好的内容,先用一句「还没拿到」占位,读起来像出错。
- 修复:统一用首页加载屏的轨道环(40px)作为次级页短等待动画:星盘空盘中央、星历 / 报告列表首屏、Chara 大运栏;原句只留给读屏器(`sr-only` + `role="status"`)。
- 产品决定:此前 AGENTS §6「揭幕后不得再出现加载动画」只对首页;星盘页 Chara 栏等待改为轨道环属产品本次明确要求,记录在此。
- 验证:`surface-feedback-20260929.test.tsx`;既有「还没拿到」断言因文本仍在读屏节点里而不变。
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1114 | 「那一刻的天空」按钮用的是各平台常见的星芒(AI)图标
- 状态:resolved(代码 + 回归测试)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 修复:改为自绘「小星座」图标(四颗星以细线相连),与点开后的群星汇聚一致;产品在三个方案中选定。
- 验证:`surface-feedback-20260929.test.tsx`。
- 相关记录:BUG-1102
- 修复版本:分支 `codex/surface-feedback-20260929`