# PROGRESS · 消息操作触控目标 + 断点错位(2026-09-15) - 执行分支:`codex/mobile-touch-and-breakpoints-20260915` - 工作树:`.worktrees/mobile-touch-and-breakpoints-20260915` - 基线:任务书写 `41473261`;实际按串行依赖用合入后的 `origin/staging` @ `8144fca2` ## 做了什么 BUG-695:细指针几何不变(26×26 视觉,27×34 热区,gap 1px,底边 8px)。`(pointer: coarse)` 下 gap 与底边距改为 `--space-5`(20px),热区 44×44。代码块复制按钮粗指针 `min-height: 44px`。注释改为说明为什么现在 44×44 不会抢 follow-up。 BUG-696:`max-width: 900px` 的 `@media` 全部改为 `1023px`。主题卡留下的 `.starter-list > button` 孤儿规则删除。`width: min(900px, 100%)` 是栏宽不是切点,未动。JS `sidebarViewportForWidth` 未动。 BUG-697:报告中心 720、阅读区 760 并入 767。目录 860 保留,就地注释第三栏内容宽度。会员 639/640 改为 640/641。录入卡 620 并入 640。toast / 校正面 430 并入 480。 ## 测试数字 | | `test(` 声明(`git grep -E '^test\(' -- frontend/tests`) | | --- | ---: | | 基线 `8144fca2` | 3208 | | 改后 | 3213(+4 `viewport-breakpoint-contract`,+1 `touch-target-contract` 粗指针) | 定向(本机): | 套件 | 结果 | | --- | --- | | `touch-target-contract` | 3 pass | | `viewport-breakpoint-contract` | 4 pass | | `chat-stream-layout` | 6 pass | | `membership-page` 本轮改的 640/641 栅格 | pass | | `membership-page`「login redirects…」 | 本机失败:未改的 `page.tsx` 工作区是 CRLF,正则要 `\n`。不是本单回归。 | | `./node_modules/.bin/tsc --noEmit` | 0 错 | | `npm run lint` | **0 error** / 120 warning(既有,未动) | 本机 `next build` 仍受 Windows `SKILL.md` symlink `EPERM` 限制,不作为通过证据。`/` Static 与首屏 gzip 留给 Gitea 门禁。浏览器 / 真机项见 `docs/testing/mobile-touch-and-breakpoints-20260915.md`,不得写成通过。 ## 既有断言三栏 | 位置 | 原值 | 新值 | 原因 | | --- | --- | --- | --- | | `touch-target-contract` 热区 | 只锁 27×34 | 细指针仍 27×34,另锁粗指针 44×44 | BUG-695 | | `membership-page` 栅格 | `min-width: 640` / `max-width: 639` | `641` / `640` | BUG-697 与校正那组对齐 | ## 偏离 - 任务 3.2:860 **保留**。目录是 1120 阅读页第三栏,768–860 若并入 1023 会让抽屉和宽正文抢同一段。 - 任务 3.3:430 并入 480、620 并入 640,未看到必须保留原值的理由。 - 任务 1 未走让步 3(热区高度仍是 44,不只加宽)。 - 浏览器 / 真机项见 `docs/testing/mobile-touch-and-breakpoints-20260915.md`,不得写成通过。 ## 验收补正(2026-09-15) Linux 门禁实测:`tsc --noEmit` 0 错;`npm run lint` 0 error / 120 warning;测试声明 3232;`npm run build` exit 0,`/` 为 `○ Static`;首屏 gzip −0.27%。全量失败 29 条里,多出来的 2 条属于上一轮 `8144fca2` 的契约漂移,不是本单回归;本单的断点 / 触控合同在 Linux 上绿。 `membership-page`「login redirects…」在 Linux 上通过。本机 Windows 记的那条 CRLF 失败不是回归,无需处理。