# Phase 5c:裸 clone 构建 + 移动端布局排查 + Lighthouse 真测 + en/archives 补页 - 项目范围 ## 1. 问题定义 - **项目目标**:发布管线确定性(构建源=origin/main);移动端全站溢出修复(用户实测报告);Lighthouse 真分数与 P0 性能优化落地;en/archives 404 补页 - **目标用户**:站长(发布/管理)与移动端读者 - **核心价值**:Sveltia 保存即上线的硬前置落地;手机体验从"可晃动破版"到全宽段合身 ## 2. 假设与待确认 ### 2.1 已确认事实 - 移动审计实锤:Header 7 项一行在 390px 溢出 51-88px(B1);.prose-tech 缺断词(M1) - Lighthouse 诊断:614 个 @font-face 708KB 渲染阻塞=Perf 62 元凶 - blog 仓公开 → 裸 clone 匿名 fetch 可行 ### 2.2 关键假设 - 320px 超窄 en 残溢记录为已知边界(现实机型 ≥360) - 正文排版断点为可读性台阶(有意保留) ### 2.3 待确认问题 - [x] 页面自适应方式 → 结论:布局层流式(clamp/auto-fill)+ Header clamp 连续收缩 + <350px 导航内滚兜底(用户设计诉求"根据设备自适应"驱动) ### 2.4 可选解释与取舍 - clamp 流式 > 阶梯断点补丁(任意宽度合身,无逐档维护)-> 选流式 - 导航内滚 < hamburger 抽屉(保单行设计语言,改动最小)-> 选内滚 ### 2.5 已证伪路径 - 阶梯断点逐档补丁(430/370 两轮后仍要第三档——治标) ## 3. 功能范围 ### 3.1 核心功能(MVP) - [x] T1 裸 clone 构建改造 - [x] T2 移动端布局全页排查与修复 - [x] T3 Lighthouse 真测与 P0/P1 优化落地 - [x] T4 /en/archives/ 补页 - [x] T5 验证收官 ### 3.2 扩展功能 - 无 ### 3.3 不在范围内 - Sveltia 站内入口(下轮)、320px 超窄支持(已记录边界) ## 4. 最小实现路径 - 最简单可行方案:构建仓 fetch+reset 硬跟 main;Header clamp 替换阶梯;字体 ?url 非阻塞+按轨挂载 - 暂不引入:hamburger 菜单、流体排版(正文有意台阶) - 不做的抽象/配置化:多构建源 ## 5. 技术决策 - 技术栈:git fetch/reset、CSS clamp、@fontsource ?url、Playwright 密集宽度扫描 - 证据协议:evidence: runs - 本轮允许改动:infra/deploy/、src/components/Header.astro、src/styles/global.css、src/pages/、scripts/lighthouse/ - 本轮不应触碰:nginx、gitea 运行时、生产内容 - Git integration branch:`spec/2026-10-25_add-blog-5c` ### 5.1 验证策略 - 范围级别:package - 变更对象:构建管线、Header 流式化、移动端缺陷修复面、字体加载策略、en/archives 页 - 快速检查:`pnpm astro build` - 集成检查:`node tests/e2e.mjs`(30 项)+ 移动溢出密集扫描(宽段 320-768 × scrollWidth 断言) - 全项目检查:Lighthouse 复跑对账(Perf 62→88 基线)+ 生产移动端抽查;仅在构建链或 Header 结构再变更时升级范围 - 升级触发:仅在 nginx 面、构建链、发布载荷变更时升级验证范围并记录理由 ## 6. 成功标准与验证方式 - [x] 移动溢出密集扫描 44 检全过(320-768) -> verify: task_0002 - [x] staging 恒等 origin/main(裸 clone 构建) -> verify: task_0001 - [x] Lighthouse Perf 62→88 实测 -> verify: task_0003 - [x] en/archives 200 -> verify: task_0004 ## 7. 风险与约束 - ESA 边缘缓存旧页会伪装修复失效(刷新后为准);构建仓 node_modules 留存做增量(loader 逻辑变更须清 .astro 数据仓——前包教训)