# 任务书 · 首页“今日星语 / 生时校正”入口弱化边框(2026-09-22) ## 0. 基线与依赖 - 基线 commit:`1bc6a954c597e2817fe72bfedad93119ab19a527`;执行方开工前 fetch 并重核最新 `origin/staging`。 - 执行分支:`codex/starter-entry-soften-20260922`;工作树:`.worktrees/starter-entry-soften-20260922`。 - 这是局部视觉轮次,不得与人物选择轮次同时修改同一首页组件;功能 P0 任务优先。 - 与 `TASK-chat-subject-picker-20260922.md` 串行:人物选择器先完成其 `page.tsx`/聊天顶栏与入口接线并合入 staging,本单再改 starter entry 及其 CSS;执行方不得并行修改同一首页组件。 - 入口当前已统一为 `.starter-entry`,不恢复旧卡片,不重做首页。 ## 1. 会议事实与现状 业务认可新版整体布局,主要建议是降低“今日星语”和“生时校正”的视觉强调:边框较抢眼,可考虑淡色块、轻阴影、弱化边框。调查确认两者已经使用统一 `.starter-entry`、native button、现有 Sparkles/Clock3 图标和已有 opening 状态;没有证据需要恢复旧卡片或新增功能入口。 相关约束:BUG-918(移动端空间)、BUG-934(旧卡片测试不可恢复)、`frontend/DESIGN.md` 现有 44px、focus、motion 规则、`frontend/docs/VOICE.md`。 ## 2. 决策记录 - 只调整 `.starter-entry` 的视觉状态:默认、hover、pressed、focus-visible、disabled/opening、窄屏宽度。 - 保留 native button、当前入口函数、暖色 palette、现有图标和 reduced-motion;不引入新的卡片层级。 - 视觉 pill 可保持约 36px,但实际透明触控命中区必须至少 44px。 - opening 状态不新增 spinner;不写“正在加载”类新文案。 - 图标更换与轻量动效审计另立 P2,不阻塞本单。 ## 3. 硬红线 1. 不恢复已删除的旧卡片 class/入口,不改业务动作和数据流。 2. 不借视觉优化修改人物切换、聊天输入、滚动跟随或加载动画。 3. focus-visible 必须比默认 hairline 更清晰;不能为弱化边框牺牲键盘可用性或对比度。 4. 不新增循环动画、spinner 或依赖升级。 5. UI 改动同提交更新 `frontend/DESIGN.md`;可见文案变化先对照 VOICE;源码符号改动前 `git grep -n` 覆盖 tests/frontend。 ## 4. 任务分解与验收标准 ### T1 · 形成可测量视觉合同 在 `frontend/DESIGN.md` 写清默认 border token/宽度、hover、pressed surface tint、focus ring、disabled/opening 和 reduced-motion 规则;明确 36px 视觉高度与 44px 命中区如何共存。不得只写“更轻”。 ### T2 · 实现局部 CSS/组件调整 只改 `frontend/src/components/starter-home.tsx`、`frontend/src/app/globals.css` 及必要的局部合同测试;保留入口语义、`aria`、disabled/opening 行为。移动端按 375px 宽度预算处理文字和图标,不裁切、不重叠、不布局抖动。 ### T3 · 回归测试 扩展/新增测试覆盖真实 `.starter-entry`、入口函数、键盘焦点、44px 命中区、hover/pressed/focus、reduced-motion、375px 文本布局;不得重新断言已删除旧卡片 class(BUG-934)。 ## 5. 让步顺序 T1 > T2 > T3。没有明确 token 和对比度规则时不改 CSS;若窄屏无法保持合同,宁可记录 blocked,不缩小触控目标。 ## 6. 开工前置命令 ```bash git status -sb git fetch origin --prune git worktree add -b codex/starter-entry-soften-20260922 .worktrees/starter-entry-soften-20260922 origin/staging cd .worktrees/starter-entry-soften-20260922/frontend ./node_modules/.bin/tsc --noEmit npm run lint npm test npm run build ``` ## 7. 记录与验收 写 `docs/tasks/PROGRESS-starter-entry-soften-20260922.md`,同轮更新 `frontend/DESIGN.md`;如产生用户可感知文案/行为更新 `CHANGELOG.md`。验收按 tsc/lint/npm test/build/Static/gzip 口径,浏览器截图或无 Chrome 环境缺口写入 `docs/testing/`,不声称通过。