Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2.8 KiB
修复单:上升交界预检(issue #112,第 1 次打回,2026-10-27)
- 被验提交:
903d206f3(分支codex/lagna-precheck-20261027) - 原任务书:
TASK-lagna-precheck-20261027.md - 执行方:Grok。同一分支继续,开工前
git merge origin/staging(不 rebase)。BUG 编号开工时核对最大号 +1(#111 的分支也在用 1444 起的号,以合入 staging 时的实际最大号为准,撞号由合并方改)。
验收结论(Claude,Linux)
| 项 | 结果 |
|---|---|
tsc --noEmit |
0 错(换新 .next 后) |
npm run lint |
0 error |
npm test 全量 |
5183 项,失败 25,与 staging 已知名单逐条相同;Windows 上那条技能路径失败在 Linux 通过 |
next build |
/ 仍 Static;首屏 gzip 727,726,staging 727,249,+0.07% |
| Python 快速门 | 通过 |
| 文案、窗口、失败不挡星盘、开场限度、断言三栏 | 都对 |
未通过两条,都在「出生时间校正」这个链接上。
F1 · 已有进行中的校正时,点链接会报错(必修)
use-rectification-surface.ts 里 ?rectify=1 调的是 startNewRectification → openRectificationCase("new", …)。数据库函数 open_agentic_rectification_case_v2 在 p_intent = 'new' 且有可续的进行中校正时直接抛 agentic_rectification_active_case_conflict(20260812010000_agentic_rectification_v9_runtime.sql,「restarting with an active case must surface a safe conflict」)。上升会换的人恰恰最可能已经开过一次校正,他们点链接看到的是报错,而不是回到自己那次校正。
修法:链接走首页入口的同一路径——openRectificationCase("homepage", null, null)(有进行中的就续上,没有就新建;即本文件里现成的那个 homepage 打开函数)。不要新建 intent,不改数据库。
验收:加一条测试——已有可续校正时,?rectify=1 走 homepage 意图、不出现冲突提示;没有时新建。
F2 · 别人的星盘页不要给链接(必修)
现在人物档案里别人的星盘页也显示「出生时间校正」链接,点进去只得到「生时校正暂时只支持本人。」——一个点了没用的入口(产品口径:多余入口宁可删除)。
修法:subjectId 不是本人时,lagnaPrecheckLine 的「会换」「不知道时间」两种情况不带链接、也不写「想定下来可以做一次出生时间校正」那半句,句子止于「(大约 HH:MM 换座)。」或「上升星座定不下来。」;本人不变。
验收:组件测试——非本人两种情况 DOM 里没有链接、没有「出生时间校正」字样;本人照旧有。
交回前必跑
tests/lagna-precheck*.test.ts、tests/chart-page-view.test.tsx、tests/chat-session-url.test.ts、校正开场三份测试;全量与构建由 Claude 复验。