LMN516

CHANGELOG · 生长记录 × 官方版本账本

网站真正长出了什么,也应该在这里留下来。

生长记录讲 LMN516 每一天真正发生的变化:功能如何变得完整,系统怎样连起来,哪些长期问题被处理。 Release Registry 则继续负责另一件事——证明什么代码真实进入过 Production,以及这些版本证据是否对齐。

DAILY GROWTH · 每日生长

从功能堆叠,继续走向一个真正连起来的系统

这一天最重要的不是又多了多少页面,而是几条长期主线同时往前走:Agent 开始真正收回站内执行能力,音乐变成持续存在的媒体层,后台获得更清晰的系统与身份治理,真实足迹、个人内容和游戏也继续从孤立功能进入统一结构。

01

Agent · 从聊天界面走向站内执行层

AI Agent 不再只是一个聊天页面。桌面命名、间距、可读性和语音反馈被重新整理;模型调用、连续工具调用与授权路径逐步接到同一条服务链上。更关键的是,站内信等第一方动作开始优先走 LMN516 自己的应用服务,并在第一方执行开始后停止回退到 OpenClaw、VPS、SSH 或裸 Supabase。

Q-20260829-040~043 · Q-20260829-050 · RUN-20260829-032
02

音乐 · 从播放器变成持续存在的媒体层

桌面播放器继续向完整音乐库与持续挂载靠拢;Safari 回到前台时重新声明 Media Session,切歌增加低功耗预读,随机播放改为一轮内不重复。Audio Focus、输出路由与全局 Audio Output Host 也开始进入同一套媒体行为。

LMN-0618/0619/0620/0626/0629 · Q-20260829-048
03

后台治理 · 开始知道系统是谁、任务做到哪

Control Room 不再靠漂浮快捷贴片堆入口,Storage 与 System Registry 回到正式后台侧边栏;代码生命树开始直接读取真实仓库结构。Control Identity V3 引入长期 LMN/P 身份与收据绑定,Control Tower 同时补上 Production 状态对账和执行追踪。

LMN-0621/0623/0628 · Q-20260828-037 · Q-20260829-027
04

真实生活 · 足迹开始成为可持续的个人档案

每日真实轨迹不再只是已经存在却难以找到的数据:按日期组织的轨迹归档进入收藏目录,原有武康路归档继续保留。碎碎念在桌面端增加蛇形时间线表达,个人消息与资料页继续向统一桌面壳层收敛。

LMN-0617 · Q-20260829-001 · Q-20260829-044~046
05

游戏 · 少一点重复造轮子,多一点可持续运行

大富翁与飞行棋继续清理脆弱的重复实现:飞行棋收敛到一条基于固定开源上游的标准路线,大富翁补上更可靠的随机骰子与正式入口;两者加入独立本地自动存档和恢复。花园消消乐冒险版则把首次进入从服务端会话等待中解开,继续处理真实的打开卡顿。

LMN-0630/0631 · Q-20260829-007/031
06

桌面体验 · 从局部修页面继续收敛到同一套系统

桌面站点地图、个人资料、个人消息、网址收藏与资料库继续对齐现有桌面工作区、留白、分隔和密度规则;后台 Storage、System Registry 等页面也去掉旧式白色 Dashboard 卡片和重复壳层。

Q-20260828-034 · Q-20260829-035/036
07

媒体与娱乐 · 让内容本身更完整

观影开始试验按需加载官方预告片,并为受控转发来源补上服务路径;后台新增持续播放的互联网电台,支持收藏、最近收听与 Radio Browser 目录。它们与音乐一起,把 LMN516 的媒体能力从单个页面扩展成更完整的内容体验。

LMN-0632/0635 · RUN-20260829-028
08

性能与续航 · 开始处理浏览器长期运行的代价

Safari 与媒体相关的残余电池会话继续清理,音乐过渡采用更克制的预读策略,Agent 的 Safari 流式会话也补了恢复路径。方向不是用视觉遮罩掩盖等待,而是减少后台残留、重复初始化和无意义资源占用。

LMN-0620 · Q-20260829-055

收录口径:记录用户能感知的产品变化,以及会长期影响 LMN516 架构、治理、性能与数据连续性的基础设施变化;纯 merge、文档同步、Preview 开关和重复 bookkeeping 不单独占一条。

运行实例 × 已验证生产证据已对齐

RUNNING DEPLOYMENT

PRODUCTION · e0463fb

这一组数据来自当前 Vercel 部署自己的系统环境变量,不从 Registry 文件反推。

Environment
production
Git
e0463fb
Deployment
dpl_8GGwqUKmTE4KPvXdn9BA9oJg6Mc8
Host
lmn516-v2-ymf8-q1fy7yw0k-burgcreates-projects.vercel.app

LAST VERIFIED PRODUCTION

已验证生产 · 0ed4c58

Control Room Super Projection 已在 lmn516.com 上完成生产部署、提交锚点核验与用户最终验收;Git、Vercel、Control Tower durable records 与用户验收事实一致。

  • Control Room Live Tower 升级为可筛选、可下钻、可追溯的超级投影控制中心。
  • 上线 Q Explorer、Q Inspector、Global Graph、Timeline 与 System Health。
  • 修正 canonical RUN linkage、active execution 与 durable acceptance 的真值边界。
  • 用户于 2026-08-16 明确验收通过。
Git
0ed4c58
Vercel
READY · Production
Deployment
dpl_Ggyv5bTRgSoEukeoPNo2KVbMjLDy
工作来源
ChatGPT + LMN516 Control Tower
git已确认
0ed4c5859ae1116076110fb558f432a786b47728

Exact accepted Production code-state anchor.

vercel已确认
dpl_Ggyv5bTRgSoEukeoPNo2KVbMjLDy

READY Production deployment aliased to lmn516.com; runtime metadata returned the same Git commit.

control-tower已确认
RUN-20260816-021

Durable run records production landing and objective verification.

owner-acceptance已确认
Q-20260816-003

Owner explicitly replied “通过” after Production launch.

RELEASE HISTORY

正式版本与已重建里程碑

The authoritative registry foundation is established. V0.5-V3.1 milestones are reconstructed from the legacy history; post-2026-07-30 semantic grouping is still being backfilled from Git, Vercel and durable LMN records.

LIVE部分对齐

音乐随机播放改为一轮不重复洗牌

将音乐随机播放从独立随机抽样改为一轮内不重复的随机洗牌。

  • 这次长了什么:为 Music Library 随机播放加入每轮随机 seed 和会话轮次状态。
  • 为什么改:避免随机播放在遍历音乐库前重复抽到已经播放过的歌曲。
  • 现在怎么样:随机模式按每轮随机顺序推进,轮次结束后自动重新洗牌;顺序播放和上一首逻辑保持不变。
  • Music Library 支持基于随机 seed 的稳定随机顺序。
  • 音乐 API 保存随机轮次状态并在轮次结束后刷新 seed。
工作来源 · USER_REQUESTGit · e0463fbVercel · READY

This Production is running with its bundled growth record. External evidence reconciliation and owner acceptance are still pending before it becomes a verified Release Registry entry.

LIVE · 历史证据已对齐

8月28日 Production:即时记录、历史轨迹、站内信与全站体验集中上线

按真实 Production 证据补录:从上一生产基线 0bb69bbc 到 9b5b0d50 共 66 个提交,集中上线照片/语音即时记录、历史足迹导入、站内信 Letter、Gmail 已读状态、Agent 记账、WordPress 文章渲染、全站分享卡片与多项桌面交互修复;同时记录为本批服务的发布基础设施变更。

  • 这次长了什么:这不是把 66 条 Git 提交逐条堆进 Change Log,而是按用户可感知的产品能力和独立回滚边界重新归纳。Git compare 证明 9b5b0d509ad3fbd337da7a85913e7725a83601a3 相对上一 Production 0bb69bbc73b4250cd615e739b922fcd3c2022447 正好 ahead 66 / behind 0;Vercel 证明 dpl_FcBfVFSLxDoUKyHAeBx5jFg5iKqt 为 READY、target=production、Git SHA 与 9b5b0d50 一致。
  • 为什么改:原部署错误复用了 8 月 27 日的文章修复候选 RC-20260827-ARTICLE-REPAIR-A,导致真实批次虽已上线,但版本账本仍显示旧日期和旧叙事。此次恢复记录只纠正版本事实,不把后来产生的新 main 提交倒灌进这一次历史 Production。
  • 现在怎么样:该 66-commit Production 已作为独立历史 Production 事实保留;后续 current candidate 即使变化,也不会覆盖这条记录。Production gate 同时另行收紧,要求每个新发版使用与当前 Q/RUN 和一次性 binding 对齐的新 Change Log。
  • 【即时照片流】新增 iPhone 快捷上传 `/api/v1/photos`:原图复用 MediaAsset + Vercel Blob,按原图去重,可保存拍摄时间、经纬度与定位精度;`/photos` 以即时照片流优先,同时保留历史影像档案。
  • 【即时语音】新增 `/api/v1/voices`,兼容既有 moments Token 并增加 voices scope;原始音频进入 MediaAsset + Blob,以 Moment 语义直接进入 `/moments`,移动端和桌面端可直接播放。
  • 【历史足迹】`/admin/location` 增加 CSV / GPX 历史足迹导入器:原始文件私有归档,批次与点级双重幂等去重,并与既有 canonical location 点交叉去重;导入历史分页,支持安全撤回规范化点而保留原档。
  • 【Gmail Inbox】已读/未读写入与消息打开导航解耦;新增显式 read-state API 和串行写入,Gmail 缺少 `gmail.modify`、403 或超时不再卡住阅读链路;工具栏改为明确的 mark_read / mark_unread。
  • 【站内信 Letter】后台站内信升级为富文本 Letter 编辑;正文继续保存安全文本源,由受控 Markdown-to-HTML renderer 输出;新增单封 Letter 阅读页,只有真正打开时才标已读,收件箱按 12 封分页。
  • 【Agent 记账】LMN516 Agent / Writing Assistant 增加受限 Accounting 直接写入能力:明确的一句话记账可直接 record,并支持 list / summary;使用稳定幂等键去重,不开放删除、批量覆盖、Schema 或任意 SQL。
  • 【WordPress 迁移文章】修复 38 篇已迁入 PersonalContent 的 WordPress/Gutenberg 文章格式判定:保留原始 HTML 并走现有 HTML 阅读分支,不再把 `wp-block-*` 标签和 class 当作 Markdown 正文显示。
  • 【全站分享卡片】新增统一分享 metadata 与 1200×630 动态分享图;PageConfig 现有 16 个 runtime route 与飞行棋 / Garden Match / Adventure 统一获得 canonical、Open Graph、Twitter large card;需要登录的 Garden Match 页面增加公开介绍态。
  • 【桌面顶栏】天气与通知/铃铛面板改为互斥,打开新的顶栏小组件会先关闭上一个,不再两个面板同时保持打开。
  • 【桌面音乐】顶栏旋转专辑封面放大到安全高度,移除播放时多余的 accent 外圈,把专辑图本身作为主要播放状态表达,并避免 Hover 放大越过顶栏边界。
  • 【桌面侧边栏】前后台共享 SidebarMotion 的 Hover 统一简化为背景填充;移除横向位移、图标/文字位移、边框强化与悬浮阴影,保留键盘 focus-visible。
  • 【发布基础设施】本批同时包含 Production batching / recovery / self-hosted runner 等治理修复;这些提交不作为用户功能宣传,但属于该 66-commit Production 的真实 Git 范围,因此在版本事实中显式记录而不隐藏。
工作来源 · Owner requests + LMN516 Control Tower + Change Manager + Git/Vercel evidence recoveryGit · 9b5b0d5Vercel · READY

Production deployment and release-candidate identity are aligned. This is historical LIVE evidence, not a newly assigned semantic version.

候选历史部分对齐

8月27日修复:文章阅读节奏与主图纠错

修复已经公开的网站形态文章:恢复自然段落密度,真正替换旧主图缓存身份;同时显式纳入上一 Production baseline 之后已落地主线的内容目录有界加载修复。

  • 这次长了什么:只针对《当网站的“形态”变了,设计思路也必须跟着变》增加文章显示层的自然段合并规则,保留原正文和 5 张正文插图;主图换成新的浅色编辑插图 Edge URL 与新的 media_asset ID。由于当前 main 在上一 Production baseline 之后还包含 `/admin/content` 的有界索引加载与发布/撤回局部更新修复,本次修复批次将其一并明确列入 manifest,避免隐式夹带。
  • 为什么改:文章已经公开,用户连续复核后确认仍存在大量一句一段,并且此前主图虽然改了生成函数却复用了相同 URL/media identity,实际仍出现旧图。继续等下一轮普通 8-RUN 批次会让公开内容错误持续存在,因此本次作为任务范围内的发布纠错单独触发一次 Production;普通改动继续遵守集中批量部署规则。
  • 现在怎么样:新主图已通过受控封面函数绑定到原文章,使用新的 media ID 9c6a0871-4e2f-4c23-b489-4b14151e617a;文章专属段落修复已进入 main,锚点 bca22997f87d9688933ce5ea6e629b61533f2474。下一步只触发本候选的 Production,随后核对 Vercel deployment commit 与真实文章页。
  • 【文章段落】网站形态文章不再把聊天空行直接渲染成大量一句一段;只对该文稳定标记生效,连续碎段按自然阅读密度合并,正文文字与 5 张正文插图保持不变。
  • 【文章主图】新增浅色编辑插图资源 `article-cover-site-shape-editorial`,使用新的 Edge URL 与新的 media_asset ID,避免旧深色模板缓存身份继续生效。
  • 【内容管理性能】显式纳入已在 main 的 `/admin/content` 有界目录读取与状态操作局部更新,减少打开目录和发布/撤回后的完整重载。
  • 【发布治理】本次是已公开内容质量纠错的任务级例外,不修改共享的 8 个 landed RUN / 120 分钟普通 Production 批次规则。
工作来源 · Owner feedback + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月27日更新:桌面体验、UI 基准与内容导航集中收口

达到共享 Production 批次门后,集中发布 UI Center / Design System、Agent 工作区、桌面导航与站内信、歌词管理、通知模型、俯卧撑透明图和文章目录/共创/周记墙等已落地主线改动。

  • 这次长了什么:建立 /admin/ui-center 作为 LMN516 权威 UI 参考并把设计规则写入代码契约;同时收口桌面 Agent、Navigation、站内信、歌词管理与订阅通知体验,修复俯卧撑透明图复用,并把记录与表达拆成更清晰的文章目录、共创文章墙与周记文章墙。发布侧启用 8 个 landed RUN 或最老等待 120 分钟的统一 Production 门,避免每个小改动各自消耗一次构建。
  • 为什么改:这些改动已经分别进入 main,继续因为 GitHub Actions runner 在 step 1 之前失败而阻塞会把基础设施异常误当成代码失败。当前从上一 Production baseline 之后已经累计至少 8 个独立 RUN,满足集中发布门;因此本批用已有源代码/语法/API 验证加 Vercel Production build 作为实际编译构建门,并在 READY 后继续做提交一致性与真实页面核验。
  • 现在怎么样:共享批次门已按 landed RUN 数量打开。UI Center PR #770 已合入 main,合并锚点为 eda959a53a3ab57f02b4c98ced7f2bfd8f152fd6;同一批次的 Agent、桌面导航、站内信、歌词管理、通知模型、透明俯卧撑图以及文章目录/共创/周记墙也已落地主线。GitHub Actions 当前仍表现为 runner/job 启动前零步骤失败;下一步以本 release candidate 提交触发一次 Production,构建成功后核对 Vercel Git commit 与部署页面,再推进 durable baseline。
  • 【UI 基准】新增 `/admin/ui-center` 与 `lib/ui-system.ts`,把 Design Principles → Tokens → Shared Components → Shell & Interaction → Route-specific UI 固化为统一验收顺序;`/admin` 只保留 Admin Shell 几何/密度基准。
  • 【Agent】桌面 Agent 去除多余页面级标题和返回 chrome,限制滚动在工作区内部,加入总结式/可编辑会话标题与真实动态活动栏。
  • 【桌面导航】侧边栏把 Search 与 Navigation 分开,导航入口进入基于现有路由重做的目录界面,继续沿用当前桌面搜索面的视觉语言。
  • 【站内信】账号消息入口统一命名为“站内信”,移除旧式重复桌面/移动渲染并改成共享账号壳层下的响应式消息卡片。
  • 【歌词管理】桌面歌词管理改为紧凑 admin-v3 结构,歌曲行默认收起并限制展开编辑器尺寸,避免单曲展开撑爆页面。
  • 【订阅通知】首次订阅、内容偏好和实时通知被拆成清晰层次;LMN516 页面可见时抑制重复 OS 消息通知。
  • 【俯卧撑】透明人物渲染器抽为共享路径并复用到桌面首页卡片,去除源图白底露出的视觉割裂。
  • 【文章组织】桌面文章入口升级为高密度文章目录;共创与周记使用独立文章墙入口,并抽取共享 wall 实现避免三套重复组件。
  • 【发布治理】Vercel Git auto deployment 保持关闭;Production 改为 8 个 distinct landed RUN 或最老 pending 120 分钟后统一发版。
  • 【CI 状态】GitHub Actions 当前连通用 Probe 都在 step 1 前失败且没有执行日志,本批将其记录为 CI 基础设施覆盖缺口,不伪装成业务代码测试失败。
工作来源 · Owner direction + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月25日更新:移动端主导航稳定性与性能第一轮收敛

移动端五个主 Tab 保持原有结构和视觉,回归门禁已与当前实现对齐,并降低导航点击与滚动记忆的主线程负担。

  • 这次长了什么:完整 navigation:contract 已进入 Production prebuild;NavigationFeedback 移除重复触摸/文档级遥测与 long-task observer;Tab 滚动位置改为内存热缓存并仅在必要时持久化。Production gate 先后暴露并修正两个历史专项测试的旧 source-shape 断言。
  • 为什么改:自检确认核心导航已经是持久 RootLayout + Next Link + prefetch,但外围测试仍含旧实现假设,点击链路存在重复全局监听,滚动期间还存在可避免的同步存储工作。目标是在不重写 UI、不改变五个入口的前提下提升稳定性并把防回归机制真正放进 Production。
  • 现在怎么样:运行时代码与回归门禁已经落地。Vercel Production build dpl_5fmqxcm8juGErPL9x17bcxNXvnGb 在 commit c50690416be3c60167fb2b31139326b3f434f156 上完整通过五套 mobile navigation contract、其余 prebuild 审计和 Next.js Production build,并进入 READY。P-0427 仅把发布/批次/Issue 记录同步到该已验证事实;真实 iPhone/PWA 连续五 Tab 设备验收仍保留给 LMN-0085,不在本记录中冒充完成。
  • 【回归门禁】完整 npm run navigation:contract 纳入 Vercel Production prebuild,直接进入 main 的部署也无法绕过移动导航检查。
  • 【门禁恢复】P-0422 与 P-0424 仅同步被真实 Production build 暴露的历史测试断言,不改变运行时代码。
  • 【点击热路径】移除重复 touchstart/touchend、document capture/bubble telemetry 与 PerformanceObserver,保留 pointerdown/pointercancel/click/pagehide、标准 Next Link 与吞点击 replay 保护。
  • 【滚动记忆】滚动期间只更新内存 Map;主 Tab 点击捕获内存位置但不同步写 sessionStorage;恢复收敛为即时恢复加一次 animation-frame 校正。
  • 【遥测负担】正常导航按 interaction 采样 25%,replay、commit timeout、pagehide 等可靠性信号仍全量保留。
  • 【验证结果】五套 navigation contract 全部 PASS;performance audit 30 PASS / 76 WARN / 0 FAIL;UI consistency 101 PASS / 5 WARN / 0 FAIL;Production READY。
  • 【范围控制】不改五个主入口、不改视觉、不改 CSS、不改数据库、不进行 RootLayout 大重构。
工作来源 · Owner direction + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月25日更新:Control Room 基础设施健康检查可靠性修复

修复 Control Room 把监控链路瞬时失败误显示为 CMS 不可用或 VPS 未连接的问题,让基础设施状态更接近真实服务状态。

  • 这次长了什么:CMS 健康探测从单次 1.8 秒请求改为最多两次、单次 3 秒的实时探测;VPS 指标读取从静默吞错改为显式重试,读取失败使用 stale 语义,只有成功读取且确实没有采样时才显示 not-connected。
  • 为什么改:用户在 Control Room 看到 CMS unavailable 与 VPS not-connected,但实际 VPS 可连接、Nginx/PHP/MariaDB 正常、基础设施采样持续写入,CMS wp-json 也可正常返回 200。根因是 Control Room 把瞬时请求或数据库读取失败错误解释成基础设施下线。
  • 现在怎么样:LMN-0515 / P-0419 已在独立分支实现并完成差异审查;不涉及数据库 schema、VPS 重启或服务配置变更。下一步以 Production 构建、commit parity 和真实 Control Room 状态作为落地验证。
  • 【CMS】健康探测增加一次重试,单次超时从 1.8 秒调整为 3 秒,并禁用探测缓存,降低瞬时网络抖动造成的假 unavailable。
  • 【VPS】基础设施指标查询增加重试并记录读取错误,不再用 catch(() => []) 把数据库读取失败伪装成零条采样。
  • 【状态语义】监控数据读取失败返回 stale;not-connected 只用于成功读取监控表但确实不存在 VPS 采样的情况。
  • 【安全边界】不修改数据库 schema,不重启 VPS,不改 Nginx/PHP/MariaDB 配置,仅调整 Control Room 只读健康判定逻辑。
工作来源 · Owner direction + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月24日更新:写作助手升级为通用 LMN516 Agent

LMN516 写作助手从文章与 Page Config 为主的助手扩展为受控站内 Agent:通过既有 Content Bridge 与 LMN516 Actions 统一操作 ToDo、Report Center 和一对一站内信,不再把普通业务写入建立在任意 Supabase SQL 上。

  • 这次长了什么:Content Bridge OpenAPI 升至 1.5.0,新增 Todo、Report、Site Inbox 业务 Action;lmn516-actions MCP 升至 1.3.0,同步增加 Report 与站内信能力并补齐 Todo 星标/取消星标。所有能力复用既有 Repository/Store 与认证审计边界。
  • 为什么改:用户希望微信 Bot、网站写作助手和后续 ChatGPT 接入共享同一套业务能力,避免每次普通 Todo/Report 修改都直接操作生产数据库并触发高风险确认,同时保留最小权限、安全审计和可复用的服务端 Action 架构。
  • 现在怎么样:实现已进入 PR #616 并完成并发编号恢复;LMN-0513 / P-0415 已领取。GitHub Actions 当前因 runner 未启动而没有执行步骤,最终编译以 Vercel Next build 和 Production OpenAPI 验证作为落地证据。
  • 【ToDo】新增受控 Content Bridge Todo API,支持新增、查询、修改、完成、重新打开以及原生 isFlagged 星标/取消星标。
  • 【提醒安全】仅修改星标时不调用 Todo reminder rebuild,不取消或重建原提醒/PWA Push 投影。
  • 【Report Center】复用现有 Report Store,支持 list/get/create/update/publish/unpublish/add_update;创建默认 DRAFT,MCP mutation 保持 ACTIVE ADMIN 边界。
  • 【站内信】复用 SiteInboxMessage,仅开放 ACTIVE 已注册用户的一对一消息,不向 Agent 暴露 ALL 广播或 createMany。
  • 【统一能力】lmn516-actions MCP 增加 report_manage / site_inbox_manage,并与写作助手 Content Bridge 共享同一业务边界。
  • 【安全】任意 SQL、删除、schema、凭证、权限、部署和 Git history 操作继续不在普通 Agent 能力面。
  • 【可发现性】Content Bridge OpenAPI 1.5.0 暴露 manageTodo、manageReport、sendSiteInboxMessage 等 operationId,供现有写作助手/GPT Actions 发现。
工作来源 · Owner direction + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:Control Tower Worker Pool 与分布式变更编号

LMN516 Control Tower 增加第一阶段 Worker Pool:Worker Registry、稳定 RUN→Worker 绑定、能力/额度/并发/成本感知 Dispatcher、OpenAI-compatible provider adapter,并把新的 LMN/P 分布式编号领取迁入共享 Supabase 控制平面,消除每个 Worker 必须持有 GitHub tag 写权限的架构阻塞。

  • 这次长了什么:新增可持久化的 ControlWorker 与 RUN Worker 元数据,提供默认 FREE_ONLY 的 Worker 调度和 OpenAI/Gemini/Qwen/DeepSeek/GLM 配置适配;Control Tower MCP 新增 Worker 查询、心跳、RUN 分派和原子 claim_change_id。新编号 DB_V1 从 LMN-0500/P-0400 起,旧 Git-tag allocator 被限制在 LMN-0499/P-0399 以下。
  • 为什么改:多 Worker 架构需要共享、可并发、无需人工中继的能力平面。原先 Worker 调度能力缺少正式 Worker 身份与稳定 RUN 归属,而 Change Manager 的 LMN/P 分布式编号又依赖 GitHub remote-tag 写入,导致没有 Git 凭证的 ChatGPT/微信/第三方模型无法独立完成完整执行与追踪闭环。
  • 现在怎么样:Control Tower 已具备 Worker Registry 与 Dispatcher 的代码和生产数据库结构;新的 DB 原子编号 allocator 已在生产数据库运行并成功领取 LMN-0500/P-0400 与 LMN-0501/P-0401,重复领取幂等正常。待本候选通过最终代码/构建/发布验证并与 Production commit 对齐后,Phase 1 才正式关闭。
  • 【Worker Registry】持久化 workerKey、provider、model、mode、capabilities、quota、cost、maxConcurrency、heartbeat 与可靠性/延迟信息。
  • 【RUN 归属】ControlRun 增加 workerId/provider/model/dispatchMode/externalRunId;一次 RUN 的 Worker 归属保持稳定,换 Worker 必须新建 linked RUN。
  • 【Dispatcher】按能力、额度、并发、可靠性、延迟、provider 偏好与成本策略选择 Worker;默认 FREE_ONLY,不把已有 API Key 等同于付费授权。
  • 【Provider Adapter】加入 OpenAI-compatible adapter 与 OpenAI、Gemini、Qwen、DeepSeek、GLM 环境配置 bootstrap;API Key 不写入数据库。
  • 【事实完整性】Worker assignment 不等于 RUNNING;没有可用 Worker 时返回 no_worker_available,不伪造 QUEUED。
  • 【MCP】Control Tower MCP 升至 1.6.0,新增 list_workers、heartbeat_worker、dispatch_run 与 claim_change_id,Worker 输出主动剔除 credentialRef。
  • 【分布式编号】Supabase 新增 control_change_id_counter / control_change_id_claim 和 claim_control_change_id(),使用事务锁、唯一约束、幂等 key 与审计元数据。
  • 【编号时代隔离】DB_V1 从 LMN-0500/P-0400 开始;旧 Git-tag allocator 硬封顶在 LMN-0499/P-0399,避免未知在途 legacy claim 与新 Worker 撞号。
  • 【安全】allocator 表启用 RLS,anon/authenticated 无表权限且不能执行 claim function;provider credentialRef 受 allowlist 限制,endpoint 使用 HTTPS/host allowlist。
工作来源 · Owner architecture direction + ChatGPT + LMN516 Control Tower + Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:飞行棋回合、骰子节奏与路线可读性

根据真实移动端试玩反馈,飞行棋继续修正三类直接影响游戏感的问题:当前到底轮到谁掷骰子不够明确、骰子滚动和结果确认过快、棋盘主环道/飞行捷径/终点跑道视觉语义混在一起。本次只调整交互反馈、时序和棋盘表达,不修改已锁定的 Classic/Fun 规则引擎。

  • 这次长了什么:把回合状态从泛化的“红方/蓝方回合”改成动作级提示,并让骰子本身始终绑定当前玩家;将滚动阶段从约 0.76 秒延长到 1.5 秒,结果落定后增加 1.1 秒只读确认阶段,在此期间锁住选飞机、下一方掷骰和 AI 自动动作;棋盘新增连续外圈主轨、顺时针箭头、虚线飞行捷径、红蓝终点跑道底轨、标签与图例。
  • 为什么改:飞行棋不仅要算对规则,还要让玩家在每个瞬间知道“现在是谁、发生了什么、下一步该做什么”。原实现虽然有 HUD 文案,但骰子没有归属感;结果几百毫秒就消失,玩家来不及形成期待和确认;中间多条线又没有明确区分普通路径、自动捷径和最后的终点道,导致棋盘本身需要猜。
  • 现在怎么样:回合提示、骰子归属、中央掷骰结果和下一位玩家形成同一条状态链;掷骰过程按“等待 → 滚动 → 落定 → 看清点数 → 再操作”推进;棋盘用连续轨道和不同线型解释路径。Classic/Fun 引擎文件未修改,仍由既有 Flight Chess Classic rule contract 保护。
  • 【谁掷骰】HUD 明确显示“红方/蓝方/你/AI · 请掷骰子、正在掷骰子、请选择飞机”,骰子旁新增同色归属标识与等待脉冲。
  • 【结果身份】中央 3D 骰子滚动和落定时都显示本次掷骰者与最终点数;回合切换提示直接写出下一位是谁。
  • 【游戏节奏】骰子滚动从 760ms 调整为 1500ms,落定结果从 420ms 调整为 1100ms;确认阶段禁止下一步抢跑。
  • 【声音触觉】滚动声覆盖更完整的投掷过程,并增加独立落地音和触觉反馈;AI 在自己的回合先停顿再掷。
  • 【主环道】离散圆点下增加连续外圈轨道和顺时针方向箭头,普通移动路线一眼可追踪。
  • 【三类路径】飞行捷径改为带 ✈ 标记的虚线;红蓝终点直道增加本色底轨和方向标签;棋盘内提供主环道/捷径/终点道图例。
  • 【规则边界】本批没有改动 lib/games/flight-chess.ts,Classic/Fun 的起飞、跳跃、飞行、迭机和终点规则保持 P-0338 锁定状态。
工作来源 · Owner mobile gameplay feedback + ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:移动端五个主 Tab 点击吞噬隔离修复

P-0330 已把收藏→记录的服务器/ISR 长尾压到稳定缓存命中,但 owner 在真实 iPhone/PWA 上继续确认五个主按钮仍会出问题,因此剩余故障不能再归因于数据库或 ISR。P-0337 转向真实交互链,确认页面级全局手势控制器存在 preventDefault + stopPropagation 吞掉后续点击的路径,并把五个主 Tab 从这类页面级干扰及同步 scroll-memory 写入中隔离。

  • 这次长了什么:保留 RootLayout 单实例和标准 Next <Link replace prefetch> 作为唯一正常导航路径。在 window capture 层只观察带 data-mobile-primary-tab 的五个主控件;若同一次点击随后被页面级监听器同时 preventDefault 且 stopPropagation、并且路由确实没有变化,则仅补发一次同一个 Link 的 click。主 Tab 同时退出 MobileTabScrollMemory 的同步 click-capture sessionStorage 写入,滚动位置继续由 passive scroll/pagehide 保存。专项约束纳入现有 Vercel prebuild edge contract。
  • 为什么改:FloatingCapsuleController 在胶囊滑动后的短暂抑制窗口内,会按坐标对后续 click 调用 preventDefault() 和 stopPropagation(),且此前没有排除底部主 Tab;这可以在页面和服务器都很快的情况下直接让 Link 根本收不到一次有效激活。同步 sessionStorage 写入虽然不是直接故障源,但也不应占据主导航的点击关键路径。
  • 现在怎么样:五个主 Tab 仍不使用 useRouter、router.push/replace、pointerdown 接管或 window.location 强制整页跳转。P-0330 的 Record/Collection 300 秒 ISR 与真正串行数据读取继续保留。以 Vercel Production prebuild、TypeScript/Next build、Production commit parity 和 owner iPhone/PWA 重复点击验收作为关闭条件。
  • 【点击隔离】新增只作用于 data-mobile-primary-tab 的 window-capture 守卫,页面级手势监听器不能永久吞掉主 Tab 点击。
  • 【严格补发】只有原 click 同时被 preventDefault + stopPropagation、路由仍停在原地址时,才补发一次同一个标准 Link。
  • 【架构不变】不引入 useRouter、router.push/replace、pointerdown 导航或 window.location hard navigation。
  • 【关键路径】主 Tab 点击不再同步写 MobileTabScrollMemory 的 sessionStorage;passive scroll 与 pagehide 持久化保持。
  • 【回归】first-paint contract 与 Collection→Record prebuild contract 同时锁定 interaction shield。
  • 【保留】P-0330 的 5 分钟 ISR、完整 Record 数据和无 uncancelled Promise.race 的串行加载继续生效。
工作来源 · Owner iPhone/PWA rejection + ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:收藏到记录的长尾切换争用修复

P-0329 后五按钮的 route/active/world 已稳定且无整页刷新,但 owner 继续明确报告收藏→记录仍有问题。线上 /posts 同时被确认处于 STALE ISR 状态;之前真实 Chromium 回放中 Record 和 Collection 也分别出现 13.3s 与约 9s 的长尾。P-0330 针对这一条边消除记录刷新中的隐形数据库并发,并降低两个数据型主 Tab 的后台重建碰撞频率。

  • 这次长了什么:记录页继续 force-static,但取消每个串行数据读取各自的 Promise-race 超时,因为超时不会取消底层 Prisma 请求;改为真正串行完成或在实际错误时降级。记录和收藏的 route/data ISR 统一延长到 300 秒,减少刚进入收藏后立即点击记录时两个 stale refresh 同时争抢单连接池。新增 Collection→Record 专项回归契约并纳入 Vercel prebuild。
  • 为什么改:原来的单次 1600ms timeout 只结束等待者,不会停止已经发出的数据库请求。随后继续下一个所谓串行查询会把未取消的旧请求与新请求叠在一起;在 Production 单连接 Prisma/Supavisor 预算下,这会放大为偶发数秒到十余秒的长尾。60 秒 ISR 又提高了收藏和记录同时进入 stale regeneration 的概率。
  • 现在怎么样:五个主 Tab 仍使用 RootLayout 单实例 + <Link replace prefetch>,不重新引入 router.push、pointerdown 接管或 hard navigation。记录静态生成保留完整真实数据,不使用 1 秒后返回空记录的捷径。通过完整 Vercel build、Production commit parity 和专项 3→2 实际回放后再完成本次交付。
  • 【记录】/posts 保持 force-static,route ISR 从 60 秒调整为 300 秒。
  • 【串行】删除 Record 各数据阶段的独立 Promise-race timeout,避免超时请求在后台继续占连接并与下一阶段重叠。
  • 【完整性】不使用短时 empty payload fallback,静态构建仍产出完整 Record 数据。
  • 【收藏】/favorites 与 mobile-collection-data 缓存窗口调整为 300 秒,减少收藏→记录连续切换时的 stale regeneration 碰撞。
  • 【回归】新增 Collection→Record edge contract,锁住静态 ISR、无隐形 Promise.race、无空数据捷径与标准 Next Link 架构。
  • 【门禁】专项 edge contract 已加入 navigation:contract 与 Vercel prebuild。
工作来源 · Owner iPhone/PWA acceptance + ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:移动端五按钮首屏选中态与切换争用修复

在 390x844 移动端乱序压力回放中,五个主导航最终 route/world 映射基本稳定,但首次打开 Today 时出现持久底栏已显示、选中态尚未建立的窗口;快速多次切换还会让每次 commit 后的 analytics pageview 与下一次路由争用网络和数据库。P-0328 实现功能修复后首次 Production 构建被 CSS 债务门禁挡住,P-0329 改为复用原有 liquid-glass active 声明,不增加视觉数值债务。

  • 这次长了什么:NavigationFeedback 在 pathname commit 时以 useLayoutEffect 同步 settled active/aria-current;服务端 MobileAppShell world 在未 settled 的第一帧复用既有 liquid-glass active selector;点击仍只做乐观视觉反馈,不接管 Next Link 导航。五个主路由 pageview 增加 900ms settled 窗口,快速跳过的瞬态页面不再立即写 analytics;全局 analytics click/pagehide listener 不再随 pathname 重装。
  • 为什么改:持久导航比页面客户端 pathname 状态更早出现在 HTML 中,第一帧可能出现页面 world 已正确但底栏没有 current tab 的短暂不一致。同时,快速 1/2/3/4/5 切换时,每个瞬态页面都立即触发数据库型 pageview 会给下一跳制造不必要的竞争。CSS fallback 必须复用已有设计声明,不能为了首屏状态新增全局颜色和 !important 债务。
  • 现在怎么样:五个主导航继续使用 RootLayout 单实例 + <Link replace prefetch>。首屏 selected state 不再依赖 MobileAppNav hydration 才出现;pathname commit 后 aria-current 会在绘制前收敛;只有停留至少约 900ms 的主路由才记录 pageview。P-0329 已把 first-paint fallback 改为 selector 复用;Production 构建与线上乱序复测通过后再进入真实 iPhone/PWA 验收。
  • 【首屏】Today / Record / Collection / Account / Search 都有 server-shell 驱动的 first-paint active fallback。
  • 【CSS 收敛】fallback 直接加入现有 liquid-glass active selector,不复制颜色、背景、阴影或新的 !important。
  • 【切换】点击 Tab 立即显示目标 active,但不使用 router.push/replace、不阻止标准 Link。
  • 【语义】pathname settle 时同步唯一 aria-current=page,清除其他 Tab 的陈旧 current 状态。
  • 【争用】五个主路由的 pageview 只在目的地稳定 900ms 后写入,快速经过的瞬态 Tab 会取消旧 timer。
  • 【监听】analytics click/pagehide listener 固定挂载一次,不在每次 pathname 变化时拆装。
  • 【回归】mobile navigation first-paint/contention contract 同时锁首屏状态、analytics 合并与 CSS 无重复声明。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:收口 Component Lab 最后一条 UI WARN

在剩余 10 个 WARN 全部通过后,Production 扫描仅剩 /sandbox。检查确认 Component Lab 路由同时存在旧硬编码外壳样式,以及扫描器把其预览的 45 个组件内部样式重复归因给实验室路由的问题。本批同时修复外壳与归因边界。

  • 这次长了什么:styles/33-sandbox.css 改用共享 surface/text/radius/spacing/control Token;UI consistency auditor 对 /sandbox 使用 component-lab profile,只评价 Component Lab 自己的 page/generated metadata/shell CSS,不再把被预览组件的传递依赖样式重复算到实验室路由。
  • 为什么改:/sandbox 是组件预览容器,不是 45 个被展示组件的统一实现入口。将预览组件的 inline style、padding 和视觉语义全部累计到 /sandbox 会产生重复归因,同时掩盖 Lab 外壳自身的样式债务。
  • 现在怎么样:Component Lab 外壳已接入共享 Token;被展示组件仍会在其真实路由/依赖上下文中接受 UI consistency 检查。最终全站是否达到 100 PASS 以 Production prebuild audit 为准。
  • 【Lab 外壳】背景、边框、文字、圆角、间距与过渡全部接回 LMN516 共享 Token。
  • 【扫描归因】/sandbox 使用 component-lab profile,仅扫描实验室自身壳层,不重复累计预览组件的传递依赖。
  • 【约束保留】固定宽度、Token 使用、响应式、间距、圆角等规则仍继续检查 Lab 外壳,没有对 /sandbox 做整路由豁免。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:继续收敛全站 UI 一致性 WARN

延续 UI 一致性扫描第一批修复,对剩余 10 个 WARN 做真实样式债务收敛与扫描精度修正:后台页面优先复用 LMN516 共享 Token,静态 JSX 布局迁入 CSS Module,同时保留邮件、待办、媒体与 Narration 的原有功能语义。

  • 这次长了什么:Content、Google Drive、Media、Narration 的静态 inline layout 迁入共享 CSS Module;Builder、Inbox、Todo、English、Account 的颜色、间距、圆角或控件尺度接回共享设计 Token;文章全屏编辑器的高 specificity 仅在明确标记的隔离边界内被扫描器识别为受控例外。
  • 为什么改:Production UI consistency audit 在上一批后仍有 10 个 WARN。检查表明其中多数是历史页面自行维护颜色/间距体系或静态 inline layout,另有一项是全屏文章编辑器为对抗旧 Admin 广域规则而必须存在的隔离边界。
  • 现在怎么样:本批不改变邮件收发、待办数据、媒体入库、Narration 录音/上传/绑定/时间轴、英语学习状态或 Account 业务逻辑;只收敛视觉架构与扫描规则。最终是否全部 PASS 以 Production prebuild UI consistency audit 为准。
  • 【Content】静态筛选/分页/操作布局迁入 CSS Module;编辑器 !important 只在显式隔离边界内作为受控例外。
  • 【Builder】桌面端硬编码配色改用共享 surface/text/control/radius/spacing Token。
  • 【Inbox】邮件三栏与移动单页阅读结构保留,邮件主题色、阴影、圆角与控件尺度改为共享 Token。
  • 【Todo】待办、日历、筛选与编辑面板保留原交互,视觉底层改为共享 Token。
  • 【Google / Media】Drive、书影音、Apple Music 搜索中的静态 inline layout 迁入共享 CSS Module。
  • 【Narration】按段与整篇两套管理器的静态布局迁入同一 CSS Module,录音、上传、绑定与时间轴逻辑保持原样。
  • 【English / Account】局部圆角、间距和账户视觉变量继续接回共享设计体系。
  • 【扫描精度】动态运行时几何继续不计静态 inline 债务;仅显式标记的 CSS 隔离边界不按普通 !important 漂移处理。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:继续消除移动端“我的”切换时的请求竞争

P-0326 已让 /account 根路由静态化,但真实 Production 日志仍显示高频 session 与 analytics 数据库请求。此次继续把身份复用窗口扩到 30 秒、把 Account 非关键统计推迟到约 1.2 秒后,并让主 Tab 点击不再在导航开始前先发 analytics 写库请求。

  • 这次长了什么:共享 client-session gate 的 UX 缓存从 10 秒扩到 30 秒;AccountHomeClient 保留 350ms 调度后再增加 850ms quiet window;AnalyticsTracker 遇到 data-mobile-primary-tab 时不发送 navigation_click,仍由 pathname commit 后的 pageview 统计目标页面;新增独立回归契约并接入 navigation:contract。
  • 为什么改:Production /account 已是 static PRERENDER,说明剩余延迟不再来自根路由数据库门槛。同一 15 分钟窗口仍出现 19 次 /api/auth/session,同时 /api/analytics/collect 达 181 次;analytics pageview 本身还会执行 getCurrentUser 和多次数据库写入,和 session/Account summary 争抢小 Prisma 连接池。
  • 现在怎么样:主 Tab 点击优先完成导航;身份读取在快速 Tab 切换时最多 30 秒复用同一个已验证客户端结果,受保护页面/API仍独立服务端鉴权;Account 的头像和数字继续后补,不参与即时切换;主 Tab 的目标访问仍通过 pageview 被记录。
  • 【Session 降频】客户端已验证身份复用窗口由 10 秒扩为 30 秒,并继续合并同一时刻的 in-flight 请求。
  • 【统计后移】Account summary 在原 350ms 调度基础上增加 850ms quiet window,实际约 1.2 秒后才开始数据库读取。
  • 【导航优先】五个主 Tab 点击不再先发送 navigation_click analytics 写库请求。
  • 【统计不丢】目标页面 pathname 提交后的 pageview 仍照常记录,主 Tab 使用数据不会丢失。
  • 【权限不变】动态 Account 子页与 API 仍逐次服务端鉴权,30 秒缓存只用于客户端显示/导航体验。
  • 【回归锁定】新增 Account session contention contract,并纳入 navigation:contract。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:让移动端“我的”先切页、后同步账户

继续修复移动端从任意主 Tab 进入“我的”仍有明显延迟的问题:/account 不再等待服务端 session/Prisma 才提交,而是先呈现完整 Account 壳,再异步确认登录并补齐统计;同时关闭 Account 子页自动预取,并合并全局重复 session 请求。

  • 这次长了什么:将 /account 根路由改为请求无关的静态/可预取壳;AccountHomeClient 在页面可见后通过共享 client-session gate 校验登录,未登录仍跳转登录;350ms 后再按需请求 dashboard summary。Account 首页所有子入口使用 prefetch={false}。session API 默认不再读取头像;AccountHomeClient、AccountMenu、MobileAppNav 与 OwnerPushAutoBind 共享 10 秒 session 缓存和同一 in-flight 请求。
  • 为什么改:P-0325 已把 7 个 dashboard 查询移出主提交路径,但真实 Production 日志仍显示 /account 本身需要动态 session 查询才能提交,而且进入 Account 后会自动请求 profile/inbox/messages/comments/settings 五个动态子页;同一窗口还出现多个 session 请求。
  • 现在怎么样:点击“我的”时,主路由本身不再执行 getCurrentUser、cookies、headers 或 Prisma;用户首先看到 Account 页面结构,身份与数字随后同步。动态子页只有真正点击时才加载。多个全局组件需要身份时复用同一短时 session 结果/请求。认证与管理员权限仍由 API 和受保护子路由负责,静态根页不输出私人数据。
  • 【主路由无阻塞】/account Server Component 不再执行 getCurrentUser 或任何数据库读取。
  • 【先切页后鉴权】AccountHomeClient 在壳已呈现后校验 session,未登录仍跳转 /login?next=/account。
  • 【延后统计】账户数字在页面可见后再延迟请求,不参与主 Tab 切换。
  • 【关闭预取风暴】Account 首页动态子入口全部 prefetch={false},不再一进页面就请求 profile/inbox/messages/comments/settings。
  • 【session 去重】AccountHomeClient、AccountMenu、MobileAppNav 与 OwnerPushAutoBind 共用 10 秒 client-session gate,并合并同一时刻的 in-flight 身份请求。
  • 【减轻 session】/api/auth/session 默认去掉无条件头像查询;summary 继续串行读取,避免 Prisma 小连接池 fan-out。
  • 【回归锁定】导航契约要求 /account 根页不得出现服务端 auth/database 阻塞,锁定动态子入口禁预取与全局 session 去重。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:加快移动端“我的”主 Tab 进入速度

修复从其他主 Tab 进入“我的”时的明显等待:账户页不再把头像、未读、留言、评论、英语和游戏统计全部串行读完后才提交界面,而是在完成登录身份校验后立即呈现完整 Account 结构,再流式补齐非关键数据。

  • 这次长了什么:保留 /account 的登录态动态渲染与串行 Prisma 安全策略;新增 Server Component Suspense 流式边界,将头像和 6 组非关键统计移出 AccountPage 主提交路径。fallback 直接渲染身份文本、互动、学习、游戏、设置及 ADMIN 入口,而不是空白骨架。
  • 为什么改:现有 /account 为保护小 Prisma 连接池,依次执行 7 个非关键数据库读取;这些读取被放在主页面返回之前,导致用户从 Today、Record、Collection 或 Search 点“我的”时,所有查询延迟被累加到主 Tab 切换上。
  • 现在怎么样:进入“我的”仍必须先通过真实 session/user 校验;校验成功后页面壳和全部入口可先提交,头像自定义图与统计数字随后补齐。数据库查询仍串行,未增加连接池并发,不修改认证、权限或 Schema。
  • 【首屏解耦】AccountPage 主提交路径只等待 getCurrentUser(),不再等待头像或仪表盘统计。
  • 【完整 fallback】认证完成后立即渲染账户身份文本、互动、学习、游戏、设置和管理员入口,仅非关键数值稍后补齐。
  • 【流式数据】头像、未读来信、评论、留言、英语词数/掌握数和游戏高分放入 AccountDeferredHome,通过 Suspense 流式返回。
  • 【连接池安全】所有非关键 Prisma 读取继续串行执行,不用 Promise.all,不重现小连接池 fan-out 风险。
  • 【回归锁定】导航契约新增 Account Suspense、主函数不得等待 dashboard 数据等检查,同时保留 route-level loading boundary。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:收敛首批 UI 一致性扫描命中页面

根据新上线的 UI 一致性扫描器首轮结果,优先处理飞行棋、Garden Match、文章详情与 Control Room;实际旧样式改回共享 Token,同时修正游戏特效色、代码等宽字体和运行时动态样式造成的误报。

  • 这次长了什么:飞行棋的页面背景、字体、卡片、按钮、圆角、阴影、间距和动效统一改用 LMN516 Design Tokens,并保留红蓝黄绿作为游戏信息色;Garden Match 的页面壳和模式切换卡统一共享 Token;文章对话封面移除静态 JSX inline style;扫描器增加共享 Token 识别、游戏语义视觉 profile、代码/ID 等宽字体豁免,并区分静态 inline style 与阅读进度/高亮坐标等运行时动态 style。
  • 为什么改:首轮扫描出现 2 个 FAIL 和 14 个 WARN,但进一步检查发现问题分为真实样式债务和规则误报两类。若只按分数机械改样式,会把有意的游戏视觉、技术信息表达以及必须由运行时计算的进度和定位样式一起抹平。
  • 现在怎么样:扫描器继续以 /admin 为总体设计基准,但优先判断页面是否消费 LMN516 的共享 Token;游戏页面可以保留由共享 garden/article-highlight Token 驱动的语义色,代码和 ID 可以保留等宽字体,阅读进度、高亮矩形和浮层坐标等动态 inline style 仅作为诊断信息,不参与静态 UI 债务扣分。
  • 【飞行棋】底层视觉从硬编码颜色/字体/阴影/圆角迁移到共享 Design Tokens,棋子与阵营信息色保留。
  • 【Garden Match】页面壳、标题、模式切换卡、按钮、间距与响应式尺寸统一使用共享 Token。
  • 【文章详情】ChatGPT 对话文章封面的 margin、圆角、宽高与 object-fit 从 JSX 静态 inline style 移到 Token 化 CSS Module。
  • 【扫描精度】Token family 不再只看与 Admin 的字面重合;主要使用 styles/00-tokens.css 的页面视为共享体系成员。
  • 【游戏语义】/games 页面使用共享 garden / article-highlight Token 时,粒子、棋盘与阵营语义色不再被当成普通页面硬编码色漂移。
  • 【技术字体】ui-monospace / monospace 仅用于代码、路由、ID 时不再触发 font-family-drift;普通自定义展示字体仍继续检查。
  • 【动态 inline】阅读进度、拖动轨道、高亮矩形和浮层坐标等由运行时数据驱动的 style={{...}} 不再触发 inline-style-drift;静态写死的 inline style 仍参与扣分。
  • 【范围控制】不修改飞行棋规则、Garden Match 玩法/排行榜、文章内容、阅读进度/高亮交互逻辑、Control Room 数据逻辑或数据库 Schema。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:收藏页新增最近添加与游戏分类

移动端收藏页继续对齐记录页的信息架构:新增按天聚合的最近添加,把游戏提升到靠前位置,并保证顶部横向分类与下方纵向区块永远使用同一顺序。

  • 这次长了什么:收藏页顺序统一为最近添加、音乐、游戏、观影、阅读、网站;最近添加读取真实收藏 createdAt,并按上海自然日把同一天的批量新增合并为一条;游戏区集中现有花园消消乐、技能冒险版和飞行棋;普通收藏行同步采用记录页当前的紧凑底对齐文字布局。
  • 为什么改:原收藏页只有音乐、阅读、观影、网站,顶部顺序与用户希望的内容优先级不一致,也缺少对近期新增收藏的概览。同一天批量导入如果逐条显示会造成刷屏,因此需要按天聚合而不是逐项复制。
  • 现在怎么样:最近添加只消费真实数据库新增时间,不用 Git 或部署时间伪造;游戏目前没有收藏 createdAt,因此进入游戏分类但不进入最近添加时间线;数据库 Schema 与原收藏数据保持不变。
  • 【最近添加】新增收藏近期时间线,音乐、阅读、观影、网站统一读取真实 createdAt。
  • 【按天合并】同一天新增多个项目只显示一条;例如 8 月 21 日一次新增 8 首音乐,会显示为一条“新增 8 首音乐”。
  • 【游戏提前】新增游戏分类,位于音乐之后、观影之前,包含花园消消乐、技能冒险版与飞行棋。
  • 【顺序单一真相源】顶部横向入口和下方纵向 Section 共用同一个分类配置:最近添加 → 音乐 → 游戏 → 观影 → 阅读 → 网站。
  • 【文字对齐】收藏普通行沿用记录页紧凑底对齐方式,单行标题不再与第二行信息拉开过大距离。
  • 【数据边界】不修改数据库结构、不迁移收藏、不伪造游戏新增时间。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:新增全站 UI 一致性扫描器

以当前 /admin 视觉体系作为基准,自动筛出移动端优先、桌面端补充的 UI 偏离页面,不再依赖人工逐页发现旧样式。

  • 这次长了什么:新增静态 UI 架构评分、真实浏览器视觉指纹比较、异常截图证据和 /admin/ui-consistency 后台入口;390、430、1440 三档视口纳入扫描,移动端在综合运行时分数中占 70%。
  • 为什么改:现有 Route Health 与 Responsive Audit 更擅长发现响应速度、溢出和触控问题,但不能回答哪些页面仍在使用旧字体、旧间距、固定宽度、硬编码颜色或与当前 Admin 设计体系明显漂移。
  • 现在怎么样:后台系统与开发区域新增 UI 一致性入口,静态扫描会在 prebuild/predev 自动生成按低分优先排列的页面清单;运行时 UI Audit 继续使用真实 Chromium 做第二层核验并为 WARN/FAIL 页面保留截图。
  • 【Admin 基准】/admin 作为当前 UI 参考基线,评分是筛选信号而非像素复制要求。
  • 【移动端优先】390px 与 430px 为核心视口,桌面 1440px 同时覆盖;运行时综合分移动端权重 70%。
  • 【自动筛选】检查固定宽度、字体族、Token 复用、inline style、!important、颜色、圆角、内边距、gap 和响应式信号。
  • 【真实浏览器】比较页面背景、文字、标题、页面 gutter、控件高度/圆角/字号和卡片圆角,并自动截图异常页。
  • 【后台入口】Admin → 系统与开发 → UI 一致性,默认按分数从低到高显示最需要收敛的页面。
  • 【持续运行】静态扫描接入 prebuild/predev/governance;真实视口扫描接入现有 UI Runtime Audit 证据链。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:修复微信文章分享卡片缺图

修复文章分享卡片已经能显示标题和描述、但微信仍不展示封面的问题:分享协议层不再直接暴露 SVG,而是提供标准 1200×630 PNG 社交预览图。

  • 这次长了什么:新增同域文章分享图接口,把文章现有封面渲染为 1200×630 PNG;Open Graph 与 Twitter Card 统一指向该 PNG,并显式声明 image/png、宽高与版本参数。文章正文和页面中的原始封面保持不变。
  • 为什么改:线上验证显示微信已经正确读取 og:title 与 og:description,但当前 og:image 指向 SVG 封面。微信分享预览对 SVG 兼容不稳定,因此标题与描述出现而图片被丢弃。
  • 现在怎么样:分享图改为同域 PNG 栅格输出,既保留文章原 SVG/高清封面,也提高微信、iMessage、Slack、Discord、X 等平台抓取成功率;无封面文章继续使用 LMN516 兜底。
  • 【微信缺图】不再把 SVG 直接作为文章 og:image。
  • 【标准尺寸】新增 1200×630 PNG 分享图输出,符合常见社交卡片比例。
  • 【明确类型】Open Graph 显式输出 image/png、width=1200、height=630。
  • 【缓存刷新】分享图 URL 增加版本参数,避免继续命中上一版 SVG 图片缓存。
  • 【页面不变】文章正文与页面封面视觉不改,只修分享协议层。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:修复 Language Tutor 备用实时语音启动

修复 AI 语言陪练在中国 Qwen 主线路启动失败后切换 Gemini 备用线路却卡在 15 秒连接超时的问题。

  • 这次长了什么:保留 Qwen WebRTC 中国优先与现有自动 fallback,不改浏览器实时语音协议;Gemini 临时令牌不再预绑定一份重复的 Bidi setup,由浏览器 Live 连接的首条 setup 作为唯一有效会话配置。
  • 为什么改:正式环境证据显示 Qwen 当前被上游以 unsupported_district 拒绝;自动 fallback 已正常创建 Gemini session,Google WebSocket 也能完成 101 升级,但旧 token 同时预绑定 setup、浏览器又发送 setup,最终未收到 setupComplete 并在 15 秒后超时。
  • 现在怎么样:本次变更只调整 Gemini 临时令牌创建参数并补齐既有 LMN-0183 / P-0239 追踪记录,不改变额度、计费、数据库、页面样式或 Qwen 主线路逻辑。失败准备阶段仍不会计入第一分钟。
  • 【Fallback】保留 Qwen 启动失败后自动请求 Gemini 的既有流程。
  • 【Gemini】移除 auth token 中重复的 bidiGenerateContentSetup,让浏览器 Live setup 成为唯一会话配置。
  • 【计费安全】仍然只有 provider 真正 ready 后才 claim minute 1;失败准备会话只执行 finish 清理。
  • 【范围控制】不修改配额 Schema、数据库、UI、学习画像、字幕/音频设置和 Qwen WebRTC 逻辑。
  • 【验收】合入后必须以 Production commit parity、Gemini setupComplete 和实际语音课堂可用性作为完成条件。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:文章分享卡片补全

补齐 LMN516 文章与全站的标准分享元数据,让微信优先拿到文章标题、摘要和封面,同时兼容 iMessage、Slack、Discord、X 等常见 Open Graph / Twitter Card 消费端。

  • 这次长了什么:文章路由开始按每篇内容动态输出 title、description、canonical、Open Graph 和 Twitter Card 元数据;文章有封面时使用文章封面,没有封面时回退 LMN516 Logo。全站同时补上 metadataBase 和默认社交分享信息。
  • 为什么改:此前单篇文章正文虽然正常显示标题和摘要,但页面 head 没有文章级分享元数据,外部平台抓取链接时只能退回站点级 Logo,导致微信分享卡片缺少文章名称和描述。
  • 现在怎么样:这次只修改分享协议层与站点默认 metadata,不改变文章正文、页面布局、数据库或内容模型。新文章无需手工维护分享卡片,标题、摘要和封面会随文章数据自动生成。
  • 【微信优先】单篇文章输出动态 og:title、og:description、og:image 和文章 canonical URL。
  • 【封面自动化】有文章主图时使用文章主图;没有主图时使用 LMN516 Logo 作为稳定兜底。
  • 【跨平台】同步输出 Twitter Card 元数据,兼顾 iMessage、Slack、Discord、X 等常见链接预览场景。
  • 【绝对地址】全站增加 https://lmn516.com metadataBase,使相对分享图片和 canonical 地址稳定解析为正式域名。
  • 【范围控制】不修改正文渲染、移动端样式、文章数据、数据库 Schema 或现有导航。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

8月23日更新:移动端收藏加载与位置恢复

移动端收藏页补齐 App 式 Tab 现场恢复,降低外部封面与网站 Logo 重复加载造成的空白和灰块,并加入自动导航路径巡检验证这些修复。

  • 这次长了什么:五个移动主 Tab 记录各自滚动位置,离开收藏后再回来恢复原来的阅读位置;PWA Service Worker 对已经看过的第三方图片做本地缓存;收藏缩略图加载前和失败时显示对应类型图标;路由健康后台新增真实移动视口导航巡检,自动覆盖五 Tab 的两点、三段、回跳和压力路径。
  • 为什么改:收藏中的图书封面、电影海报和部分网站 Logo 来自第三方 URL,原实现只有站内 Next Image 会进入 PWA 图片缓存,第三方图片在页面重新挂载后会重新进入 lazy-load;同时底部 Tab 只切路由,没有保存每个 Tab 的 scrollY。此类问题又与进入路径有关,仅靠静态契约和人工点按难以稳定复现,因此需要运行时路径巡检。
  • 现在怎么样:改动限定在移动 Tab 状态、收藏缩略图、PWA 图片缓存和后台导航验证层,不改数据库和收藏数据结构;导航巡检使用同源 390×844 测试视口,一次启动后自动执行完整路径并保存最近结果。
  • 【Tab 现场】今日、记录、收藏、我的、搜索分别保存 session 级滚动位置,切换主 Tab 后恢复各自上次位置。
  • 【第三方图片缓存】PWA 新增独立远程图片 Cache Storage,已访问的图书封面、电影海报和网站 Logo 回到页面时直接命中本地缓存。
  • 【网站 Logo 灰块】真实图片未完成或加载失败时先保留网站/图书/观影/音乐类型图标,图片成功后再覆盖,不再显示整块灰色占位。
  • 【缓存隔离】远程图片缓存与 shell/static/Next Image 缓存分开,最多保留 240 项,不因普通应用发布清空已看图片。
  • 【自动导航巡检】后台路由健康新增 390×844 同源测试设备:覆盖 25 组 A→B、80 组 A→B→C、80 组 A→B→C→B、完整 185 组和确定性 100 跳压力测试;自动检查 Tab 高亮、route/world、图片与 Logo、busy、耗时、运行时错误、图片重复传输和回跳滚动位置。
  • 【路径差异比较】同一目标 Tab 从不同进入路径到达时自动比较页面结构指纹,异常路径保留完整跳转链,便于直接复现。
  • 【范围控制】不开放任意远程 Next Image 域名、不新增服务端图片代理、不做数据库迁移。
工作来源 · ChatGPT + LMN516 Change ManagerGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

本次 Production:首页与侧边栏体验重构

LMN516.com 首页完成一次集中重构:内容不再重复,文章、照片、碎碎念按可复用节奏编排;PWA 侧边栏与普通 Safari 明确分流;首页卡片、文案、最近发生和俯卧撑专题同步收口。

  • 这次长了什么:首页建立统一内容占用与去重规则,并把 long-tail 从写死卡位改为可循环复用的编排引擎;同时补齐 PWA Coupled Split Shell 的后半段响应式让位,普通 Safari 不再启用会与系统返回手势冲突的 Drawer edge-pan。视觉层同步压缩碎碎念高度、删除多余第三层说明、给最近发生补背景,并为俯卧撑首页卡片提供独立 PUSH/UP 封面构图。
  • 为什么改:原首页存在同一文章或同一图片重复出现、内容顺序缺乏稳定规律、侧边栏打开后只有前半段正确缩窄、普通 Safari 左边缘手势冲突,以及首页说明文字过多、部分卡片过白或过高等问题。用户将这 8 条明确锁定为当前唯一主线,因此本次按一个首页批次集中解决并统一验证。
  • 现在怎么样:首页 8 条需求已全部实现于 PR #296,并已先将最新 main 反向同步到首页分支,确认 behind_by=0。用户在 Mac 本地执行完整 `npm run typecheck && npm run build` 后成功走到 Next.js 最终路由统计并返回 shell,说明完整本地构建通过。GitHub Actions 仍因账户付款/Spending Limit 无法分配 runner,因此最终仅补一次 release-candidate 快速校验后合并 main,并计划只触发一次 Production,不创建额外 Preview。
  • 首页建立跨 core 与 long-tail 的统一去重:同一篇文章、同一内容实体和同一视觉图片不再在同一首页流中重复出现;WordPress 原图与 `-宽x高` 尺寸变体也按同一图片处理。
  • 首页 long-tail 改为可复用排布引擎,按文章、视觉、文章、承接模块的稳定节奏循环消费内容;常规情况下 core 约 3 篇文章、stream 再补约 7 篇,使首页文章总量目标约 10 篇而不是固定 3 篇。
  • installed PWA 保留 Drawer + Coupled Split Shell;普通 Safari 不启用 Drawer edge-pan,避免与 iPhone/Safari 原生左边缘返回手势冲突。
  • 侧边栏打开时,首页 long-tail 与前半段共享同一 Drawer offset 与 container-width 语义,后半段不再保持错误的全宽布局;窄内容区按容器宽度继续重排。
  • 首页碎碎念改成更紧凑的卡片形态,限制卡片高度、文字行数和缩窄后的布局,避免长文字占据过多首页空间。
  • 首页模块删除第三层解释性小字,保留大标题和必要 tag/副标题,减少“短一点的想法也值得被记住”等重复说明。
  • 最近发生从游戏双列中的白色半宽卡片独立为完整内容行,并增加暖色渐变、柔和光斑和档案式背景层,保留真实最近活动数据和入口。
  • 俯卧撑首页专题不再视觉复用旧 `person.webp`,改为独立 PUSH/UP 训练主题封面构图,同时继续显示真实完成数量、目标、进度和完整记录入口。
  • 本批次不做数据库 Schema 迁移,不删除内容数据,不改变文章、碎碎念、照片、音乐、游戏等原始数据源;主要变化集中在首页编排、去重、响应式与视觉呈现。
工作来源 · LMN516 Control Tower + Change Manager + ChatGPTGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

本次 Production:音乐库一键选择前台 10 首 + Garden Match Adventure

音乐库继续保留全部歌曲,管理员可以一键选择最多 10 首展示到公开音乐页;同时 Garden Match Adventure 正式进入 main 和 Production,保留经典模式并新增独立技能冒险玩法与可发现入口。

  • 这次长了什么:音乐库新增一键“展示到前台 / 撤下前台”,公开展示位继续复用 MusicTrack.sortOrder;`/music`、Apple 试听与歌词链路改为读取当前数据库展示集。同时把已通过 Preview 验证的 Garden Match Adventure 从旧冲突分支干净 forward-port 到当前 main:新增独立 `/games/garden-match/adventure`,加入滑动交换、花园能量、三种主动技能与 Shuffle,并在经典 Garden Match 和全站搜索/导航中提供入口;冒险成绩继续与经典排行榜隔离。
  • 为什么改:音乐库需要把前台展示从写死列表改成后台可操作的真实能力;Garden Match Adventure 则已经完成可玩候选,但旧 PR #275 长期停在 Preview 且严重落后 main。用户明确要求把冒险版放进 main 并与当前版本一起上线,因此本次在不覆盖现有主线新代码的前提下完成干净 forward-port,并把真实上线内容同步写入生长记录。
  • 现在怎么样:音乐候选 PR #295 已通过必要 Preview 验证;Garden Match Adventure 通过新 PR #297 从当前 main 干净 forward-port 并合并,10 个预期文件范围无额外夹带。上一笔同批 Production `dpl_HWoBKURf9CAQx6DdDtFi3m9QRP7Z` 已 READY,构建产物明确包含 `/games/garden-match/adventure`,`lmn516.com/games/garden-match/adventure` 已实测可达并在未登录时正确保留 `next=/games/garden-match/adventure`。本次提交补齐同批生长记录后重新发布,随后关闭 Production gate。
  • 后台音乐库每首歌新增“展示到前台 / 撤下前台”操作;新增音乐默认只进入音乐库,不会自动挤占公开展示位。
  • 公开展示最多 10 首;新展示歌曲进入第 1 位,其余依次后移,超过 10 首时原第 10 首回到音乐库状态但不会删除。
  • `/music` 不再读取写死的 10 首,而是实时读取数据库 `sortOrder=1..10` 的当前展示集,并继续使用已有封面卡片交互。
  • Apple 试听接口只为当前展示集查询试听地址;进入音乐页时会清理旧的浏览器试听映射,避免新展示歌曲因旧缓存暂时无法试听。
  • 歌词保留原有同步歌词路径;当前展示集中的新歌曲若不在旧同步名单中,可继续通过 LRCLIB plain fallback 获取歌词。
  • Garden Match Adventure 正式新增独立 `/games/garden-match/adventure`,保留经典 `/games/garden-match`,两种模式互不替换。
  • 冒险版加入真实滑动交换预览、Garden Energy、Frost Gust、Spore Burst、Lucky Clover 三种技能,以及每局一次、消耗 2 步且保留当前分数/能量的 Shuffle。
  • 冒险成绩不写入经典排行榜;经典页面新增明显的 Adventure 切换入口,全站搜索/导航新增“消消乐冒险版”入口。
  • 旧 Garden Adventure PR #275 因长期落后 main 且存在冲突被新 PR #297 的干净 forward-port 取代;最终只合入 10 个预期 Garden 文件,不覆盖这两天已经演进的其他主线代码。
  • 修复发布候选历史同步脚本:新 READY candidate 首次出现时自动追加到 append-only history,已有 candidate 仍原位同步,不删除旧历史。
  • 本次不做数据库 Schema 迁移,不删除音乐或游戏历史数据,也不改变经典 Garden Match 的排行榜语义。
工作来源 · LMN516 Control Tower + Change Manager + ChatGPTGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

Release F 修复版:控制中心上线与 Prisma Runtime 收口

保留 Release F 原有六组成熟功能范围,并把真实 Production 事故中暴露的 Prisma Mac 预构建与 Vercel Linux ARM Runtime 不兼容修复纳入同一发布闭环。修复版只增加 P-0209 运行时打包修复与事故验证要求,不夹带新的独立功能。

  • 这次长了什么:文章富内容 Markdown、Language Tutor V2、自适应 PWA 双区 Shell、Control Room Action Console、首页最新文章候选修复和 English Garden 手机端紧凑双列卡片继续作为用户可见范围;同时 Prisma Client 明确同时打包 native 与 linux-arm64-openssl-3.0.x Engine,避免 Mac `vercel build --prod` 后上传 prebuilt output 到 Vercel Linux ARM 时再次出现 Query Engine 缺失。
  • 为什么改:原 Release F 的 Mac prebuilt Production `dpl_HpVZ6MfVahQJLmNcfaGx7VVnKyUg` 虽显示 READY,但真实运行时因 Prisma Client 只包含 darwin-arm64 Engine 而导致首页和多个数据库接口出现服务端异常。Production 已恢复到稳定 Release E;P-0209 已在 main 增加 Linux ARM Engine 目标。修复版必须在再次上线前验证构建产物确实包含 Linux Engine,并在上线后完成真实数据库请求与 Control Room Runtime smoke test。
  • 现在怎么样:Production 当前稳定运行 Release E `dpl_B7jcDmDBbf4Y9V5zpJZvb4eRYZjP`。原 Release F 用户可见功能及 P-0206/P-0207/P-0208 构建边界修复仍在 main;P-0209 Prisma Runtime 打包修复已以 `e38fc604fc4286111d7d097c70955a9bb8bc316d` 进入 main。下一步只能使用本修复版的新不可变 SHA 执行 Mac Production build;上传前必须检查 `.vercel/output` 包含 `linux-arm64-openssl-3.0.x` Prisma Engine,上传后必须验证首页、auth/session、数据库 API、`/moments`、`/library` 与 Control Room,并确认最近 Runtime Logs 无 PrismaClientInitializationError。
  • 文章支持语义化 ASCII / tree / architecture / flowchart 结构块、五类 Markdown Callout,以及更宽、更适合移动端阅读的图表与表格展示。
  • Language Tutor V2 增加虚拟导师式实时界面、年龄与语言水平配置,并把这些条件传入服务端教学指令;同时保留 Qwen 临时连接重试与目标语言约束。
  • 移动端 PWA Drawer 升级为耦合双区 Split Shell:左侧导航与右侧内容可同时存在,主内容随手势让出空间,不再依赖阻塞式全屏遮罩。
  • Control Room 新增 Action Console 与管理员控制 API,支持状态感知操作、乐观并发保护、Evidence/验收事实边界和原 Q 回环。
  • 首页文章候选改为在 SQL/数据源层先筛选 article 再 LIMIT,修复最新文章可能被较新的非文章 PersonalContent 挤掉的问题。
  • English Garden 手机端保持紧凑双列词卡,使用 4:5 卡片、收紧字号/输入区/释义与操作密度;不包含语义图片或 AI 插图改造。
  • 修复 Release F 首轮真实 Production 暴露的 EnglishWordCard CSS Module pure-selector 编译错误,使手机端样式继续由本地 .card 根类安全约束。
  • 修复 `/api/public/latest-moment` 的 build/export 契约:数据库查询改为仅在运行时执行,同时保留 60 秒 CDN 缓存语义,避免 Production build 在 Export 阶段访问数据库。
  • 修复 `/moments` 页面 build/export 契约:数据库驱动的碎碎念合集改为请求期动态渲染,避免 Production build 静态导出时访问 personal_content;页面现有内容与交互保持不变。
  • 修复 `/library` 页面 build/export 契约:资源收藏的 Prisma 查询改为仅在请求期执行,避免 Production build 静态导出时访问数据库;页面内容、数据和权限逻辑保持不变。
  • P-0209 为 Prisma Client 增加 `linux-arm64-openssl-3.0.x` binary target,同时保留 native target,修复 Mac prebuilt artifact 在 Vercel Linux ARM Runtime 缺少 Query Engine 的生产事故。
  • 发布验收从 Vercel READY 提升为产物 Engine 检查 + Production 页面/数据库 Runtime smoke + Runtime Logs + Control Room 实际操作的联合门禁。
  • 新增并接入富文章与首页文章候选的确定性回归测试;GitHub Actions runner 的 Billing/Spending 阻塞继续被记录为外部覆盖缺口,而不被误判为代码失败。
  • 本批不包含数据库 Schema 迁移、权限模型放宽、破坏性数据操作,也不包含尚未合入 main 的 Admin UI V2、Garden Match Adventure、Mobile AI、文章定时发布或 English Garden 语义图片候选分支。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

富文章、语言陪练、PWA 双区、控制中心与英语卡片收口

把 Release E 之后已经进入 main 的六组成熟改动统一收口为一次 Production:文章富内容 Markdown、Language Tutor V2、自适应 PWA 双区 Shell、Control Room Action Console、首页最新文章候选修复,以及 English Garden 手机端紧凑双列卡片。避免继续让已经完成的代码长期停在发布队列。

  • 这次长了什么:文章 Markdown 增加 ASCII/结构图、Callout、宽表格与移动端宽内容展示;Language Tutor 升级为按年龄、水平和目标语言自适应的实时导师界面;PWA Drawer 从遮罩层升级为可并存阅读的双区 Split Shell;Control Room 增加受权限保护、具备事实边界的 Action Console;首页文章列表改为先按 article 类型筛选再执行 LIMIT;English Garden 手机端保持双列并压缩词卡比例、字号和操作密度。
  • 为什么改:这些改动已经分别完成代码落地并获得 Preview、Mac 等价 CI、静态回归、合并或构建证据。Release F Production/预构建依次暴露 EnglishWordCard CSS Module、`/api/public/latest-moment`、`/moments` 与 `/library` 的构建边界问题;其中三个数据库静态导出问题已分别用 P-0206、P-0207、P-0208 做最小运行时动态修复。当前发布范围仍只包含既定六组用户可见改动及其发布阻塞修复。
  • 现在怎么样:P-0176、P-0197、P-0198、P-0200、P-0202、P-0203 均已进入 main;P-0206、P-0207、P-0208 作为 Release F 构建阻塞修复也已独立进入 main。P-0202 隔离 Preview 已 READY;Action Console 已通过用户 Mac 等价 CI;EnglishWordCard CSS Module、latest-moment、/moments 与 /library 四个已知构建阻塞均已完成源代码修复。已核对其他直接 Prisma 公共页面:/room、/books、/movies、/archive/moments、/learn/english、/games/garden-match 均已有 force-dynamic;/posts 与 Today 已通过 headers() 走请求期动态渲染。下一步使用固定的新 Release F SHA 重新执行 Mac Production build,成功后直接上传 prebuilt output,再做真实运行时核对与 Owner 最终验收。
  • 文章支持语义化 ASCII / tree / architecture / flowchart 结构块、五类 Markdown Callout,以及更宽、更适合移动端阅读的图表与表格展示。
  • Language Tutor V2 增加虚拟导师式实时界面、年龄与语言水平配置,并把这些条件传入服务端教学指令;同时保留 Qwen 临时连接重试与目标语言约束。
  • 移动端 PWA Drawer 升级为耦合双区 Split Shell:左侧导航与右侧内容可同时存在,主内容随手势让出空间,不再依赖阻塞式全屏遮罩。
  • Control Room 新增 Action Console 与管理员控制 API,支持状态感知操作、乐观并发保护、Evidence/验收事实边界和原 Q 回环。
  • 首页文章候选改为在 SQL/数据源层先筛选 article 再 LIMIT,修复最新文章可能被较新的非文章 PersonalContent 挤掉的问题。
  • English Garden 手机端保持紧凑双列词卡,使用 4:5 卡片、收紧字号/输入区/释义与操作密度;不包含语义图片或 AI 插图改造。
  • 修复 Release F 首轮真实 Production 暴露的 EnglishWordCard CSS Module pure-selector 编译错误,使手机端样式继续由本地 .card 根类安全约束。
  • 修复 `/api/public/latest-moment` 的 build/export 契约:数据库查询改为仅在运行时执行,同时保留 60 秒 CDN 缓存语义,避免 Production build 在 Export 阶段访问数据库。
  • 修复 `/moments` 页面 build/export 契约:数据库驱动的碎碎念合集改为请求期动态渲染,避免 Production build 静态导出时访问 personal_content;页面现有内容与交互保持不变。
  • 修复 `/library` 页面 build/export 契约:资源收藏的 Prisma 查询改为仅在请求期执行,避免 Production build 静态导出时访问数据库;页面内容、数据和权限逻辑保持不变。
  • 新增并接入富文章与首页文章候选的确定性回归测试;GitHub Actions runner 的 Billing/Spending 阻塞继续被记录为外部覆盖缺口,而不被误判为代码失败。
  • 本批不包含数据库 Schema 迁移、权限模型放宽、破坏性数据操作,也不包含尚未合入 main 的 Admin UI V2、Garden Match Adventure、Mobile AI 或 English Garden 语义图片候选分支。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

候选历史部分对齐

文章零处理显示与真正的 PWA 侧边栏

把已经进入 Release Queue 的文章显示层优化,与用户实机验收失败后重新实现的真正 PWA 抽屉侧边栏合并为一次 Production。文章草稿中的架构图、自动标题与摘要会更可靠;移动端不再依赖常驻侧边条,而是从屏幕物理左边缘直接跟手拖出 Drawer,并可在 Drawer 内向左跟手关闭。

  • 这次长了什么:文章显示层新增非破坏性的 Article Presentation V1:数据库 Markdown 原文不变,显示时保护 ASCII/box-drawing 架构图的换行与连续空格,并统一 CMS Preview 与正式文章页的标题/摘要兜底。移动端 Root Drawer 则删除常驻点击侧边条,从物理左边缘 0–32px 开始接管明确的横向拖动,实时根据 touchmove 更新抽屉位置与遮罩透明度;打开后可从 Drawer 内容区域任意位置向左拖回关闭,链接和按钮不再被手势过滤。
  • 为什么改:P-0195 已完成定向回归并按规则等待下一次兼容发布批次;P-0182 虽已上线,但用户在真实 PWA 中确认它仍是“点侧边条弹出菜单”的体验,且左滑关闭基本失效。根因是实际屏幕边缘被排除、触控目标过滤掉 button/link,以及只在 touchend 判断位移。P-0196 因此把交互重新定义为真正的 edge-pan Drawer,并与 P-0195 合并发布以减少一次 Production 消耗。
  • 现在怎么样:P-0195 与 P-0196 均已进入 main;P-0196 通过 PR #268 以 7b8d1a746ef2881f18a960a7ff2b00c32b61a1a5 落地。GitHub Actions 当前因账户付款/Spending Limit 阻止 runner 启动,job 没有执行 step,因此不构成代码失败证据。Release E 将用一次 Production build 补足真实构建验证;READY 后需要在安装到 iPhone 的 PWA 中验证左边缘跟手打开、Drawer 内左滑关闭、纵向滚动与链接点击,并由用户最终验收。
  • LMN516 自有 Markdown 文章显示时自动保护常见 ASCII / box-drawing 架构图,保留换行与连续空格,但不改写数据库原文。
  • CMS Preview 与正式文章页统一自动标题、摘要和 MarkdownArticleBody 处理,减少无标题/无摘要草稿的展示退化。
  • 移动端移除常驻的 Drawer 左侧点击条,不再把点击按钮作为主要打开方式。
  • Root 页面从物理左边缘 0–32px 开始右拖时,Drawer 与遮罩随手指连续移动,松手按拖动进度和速度吸附打开或关闭。
  • Drawer 打开后可从自身内容区域任意位置向左拖回,包括导航链接和按钮表面;点击遮罩与 X 保留为备用关闭方式。
  • 横向意图明确后才接管 Drawer 手势,纵向动作继续交给正常页面/Drawer 滚动,降低误触。
  • Drawer 开关继续保持 App Shell 本地状态,不新增 URL 或浏览历史层;Root / Detail 返回语义保持分离。
  • 本批不包含数据库 Schema 迁移、权限模型修改或破坏性数据操作。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · 待反查Vercel · 待反查

The candidate narrative is preserved so it cannot disappear; Production status remains unclaimed until evidence is attached.

LIVE · 历史证据已对齐

Todo 日历、移动端导航、照片原色、PWA 通知与 Gmail 自动同步修复

在已上线的 Gmail 与音乐库基础上,本批新增 Todo 月历、移动端 Root 导航/抽屉,修复手机 PWA 连续留言通知覆盖问题,把 Gmail 自动同步改为可续跑的小批次历史追赶,并统一取消真实内容照片的默认压暗、深色模式降亮度与轮播切换闪暗。所有项目集中为一次 Production,减少重复构建。

  • 这次长了什么:Todo Center 新增以现有 todo_task 为唯一事实源的月历;移动端 Root 页面统一导航历史并增加左侧 Drawer;Owner Message Web Push 使用唯一 event ID 作为 notification tag;Gmail 自动同步改为每次最多处理一页 20 条 history 记录,并在积压期间保存游标、暂停旧邮件回填与新邮件通知,追平后再恢复正常 Push 与历史回填;真实内容照片新增全局 Photo Integrity Contract,取消大面积黑色遮罩、dark mode 整体降亮度和轮播切换闪暗,文字可读性改由 text-shadow 等不改动照片像素的方式承担。
  • 为什么改:Todo 的 scheduledDate 已经足以形成日历投影,不应复制第二套任务数据;移动端需要更稳定的 Root/Detail 返回语义;连续留言已确认推送链路正常但 notification tag 会互相覆盖;Gmail 首次真实自动同步证明多日历史积压不能在一个 55 秒调用中一次处理;真实照片是用户内容本身,不应为了模仿卡片视觉或适配深色模式而统一牺牲亮度、色彩与细节。
  • 现在怎么样:P-0181 Todo Calendar、P-0182 Mobile PWA Root navigation、P-0183 Owner Message notification retention、P-0190 Gmail bounded catch-up 已在 main/Release D 链路;P-0192 Photo Integrity 已进入 main;P-0194 将 Change Log 改为 append-only 候选生长记录账本并恢复 Release A/B/C 历史。Production 构建通过后,除原有 Gmail Cron/runtime 验证外,还需要在真实移动端与深色模式核对文章、影像、Today、Record 与首页照片是否保持原始亮度。Gmail 发件/回复仍需要 Owner 完成一次 Google send scope 重新授权后才能最终验收。
  • Todo Center 新增第五个“日历”视图,以现有 todo_task 为唯一事实源,不创建第二套 Calendar 任务表。
  • 月历按日期显示未完成与已完成计划任务数量,选择日期后可查看、创建、完成、重新打开和编辑同一条 Todo。
  • 移动端 Today / Record / Collection / Search 的 Root 导航改用产品级 replace 语义,避免无意义浏览历史持续堆叠。
  • 移动端 Root 增加左侧 Drawer,并将 Root 抽屉与 Detail 返回语义分离;抽屉开关不写入 URL/浏览历史。
  • 同一会话连续收到多条访客留言时,每条 OWNER_MESSAGE 使用独立 eventId notification tag,不再相互覆盖。
  • Owner Message 原有发送、ACCEPTED、received、shown 回执、通知点击入口、设备订阅与 VAPID 均保持不变。
  • Gmail 自动同步改为每次最多处理一页 20 条 Gmail history 记录,并在每个成功批次后持久化可续跑 syncCursor。
  • Gmail 历史积压期间暂停 PWA 新邮件通知和旧邮件 backfill;追平后恢复真实新邮件 Push,并以每次 12 条继续旧历史回填。
  • 真实内容照片恢复源图亮度和色彩:移动文章、影像故事、Today、Today Stream、Record、桌面首页轮播与随机照片不再默认覆盖大面积黑色渐变。
  • 深色模式不再对文章正文图片、随机照片和文章视觉整体执行 brightness 降亮度;首页轮播切换也不再通过 opacity 让照片瞬间变暗。
  • 叠在照片上的白字改用文字阴影承担基本可读性保护,不再用整张照片蒙黑换取文字对比度。
  • Change Log 新增 append-only Release Candidate 生长记录账本:恢复 Release A 的文章高亮/分段朗读、Release B 的录音绑定修复、Release C 的 Gmail/音乐库记录;当前 Release D 在创建阶段即写入账本,未来新候选不能再覆盖旧历史。
  • 本批不包含数据库 Schema 迁移,也不修改 Gmail OAuth 凭证、留言数据或权限模型。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · cd65389Vercel · READY

Production deployment and release-candidate identity are aligned. This is historical LIVE evidence, not a newly assigned semantic version.

LIVE · 历史证据已对齐

Gmail 自动收发与音乐库完成版

Gmail 从只读、手动同步升级为自动同步、持续补历史、PWA 新邮件通知并准备好站内写信/回复;同时把已经验证完成的音乐库首页一起发布。

  • 这次长了什么:Inbox 会由 Supabase Cron 每分钟触发 Gmail history 增量同步,并在每轮后向更早历史补一小批;真正的新入站邮件进入现有 Owner PWA Push。Gmail OAuth 增加 send 权限,后台已有写信和线程回复。音乐库则正式从导入工具页升级为可浏览、搜索、查看常听和最近播放的资料库首页。
  • 为什么改:原 Gmail V1 只完成最近窗口的只读同步,生产同步还停在 8 月 14 日,旧邮件没有继续补、没有自动通知、也不能发信回复。音乐库 P-0175 已经 Preview 验证并排队等待兼容批次,因此与 Gmail 一起发布可以减少不必要的 Production 次数。
  • 现在怎么样:P-0175 与 P-0180 都已合入 main 并通过各自 Preview。Gmail 自动同步的最小权限 Token 已安全存入 Supabase Vault;Production READY 后将立即开启每分钟 Cron 并验证真实同步、历史回填和 PWA 投递。写信/回复代码会同时上线,但已有 Gmail 账号还需要 Owner 点一次“授权收发权限”完成 Google 增量授权。
  • Gmail 自动增量同步不再依赖打开 Inbox 或手动点同步。
  • 历史邮件按有界批次持续向更早时间回填,避免一次抓完整邮箱导致 serverless 超时。
  • 真实新 Gmail 复用现有 Owner Web Push,通知点击直达未读 Inbox;历史回填不会触发通知风暴。
  • Gmail 增加写新邮件和线程回复能力;发送成功后立即回读并写入统一 MailThread/MailMessage。
  • 自动同步使用专用 mail:sync API Token:应用数据库仅保存 SHA-256,明文只在 Supabase Vault。
  • 音乐库首页增加完整快照总览、常听、最近播放、搜索、排序和全部歌曲,并让同一 XML 导入保持幂等。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · 2fa2825Vercel · READY

Production deployment and release-candidate identity are aligned. This is historical LIVE evidence, not a newly assigned semantic version.

LIVE · 历史证据已对齐

录音绑定修复与操作提速

修复文章朗读中未绑定录音无法保存到明确段落的问题,并减少恢复界面的批量音频加载,让录音管理更可靠、更轻。

  • 这次长了什么:文章朗读后台修正了段落录音写入数据库时的 UUID 类型错误,同时把未绑定音频恢复改成按需试听:不再一次预加载一整批音频,试听过的时长也会直接复用于绑定。
  • 为什么改:上一批上线后,真实使用发现无论点击“绑定为我的录音”还是“绑定为导入音频”,服务器都会在保存段落录音时返回 500;同时未绑定音频区域会并行加载多条音频 metadata,造成明显卡顿。
  • 现在怎么样:P-0174 已通过一次完整 Preview 构建并合并 main。本次 Production 只发布这组修复;上线后需要用刚才那条已经上传的录音再次绑定到明确选择的第一段,完成真实验收。
  • 修复 Narration raw SQL 的 UUID 写入:段落录音与整篇录音的 id 都显式按 PostgreSQL uuid 写入,消除生产环境 42804 / HTTP 500。
  • 未绑定音频不再同时创建最多 20 个预加载 metadata 的播放器;只有点击“试听这条音频”时才加载当前这一条。
  • 试听获得的音频时长会缓存并在绑定时直接复用,避免同一条音频再次做 metadata probe。
  • 段落绑定 identity 仍然使用 articleKey + blockKey + quoteHash;修复不改变目标段落,也不会猜测把音频绑到别段。
  • 原有未绑定录音在成功持久化之前继续保留,不因为本次修复被删除或改绑。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkerGit · c321ee1Vercel · READY

Production deployment and release-candidate identity are aligned. This is historical LIVE evidence, not a newly assigned semantic version.

LIVE · 历史证据已对齐

文章阅读工具与发布透明度

文章高亮、分段朗读、孤立录音恢复,以及“每次上线必须写生长记录”的发布门禁,一起进入本次共享 Production 候选。

  • 这次长了什么:文章阅读从单纯浏览扩展到可私密高亮、按段朗读和恢复未绑定录音;同时发布流程新增强制生长记录门禁。
  • 为什么改:这些功能已经进入 main 并完成各自验证,但还需要一个统一 Production 候选;同时必须从流程上解决“网站已经上线,但站长不知道这一批到底改了什么”的问题。
  • 现在怎么样:本批次已经绑定一份 READY 生长记录。只有包含本次 RC-ID 和 Batch-ID 的 Production 触发才能通过 prebuild;上线后 /changelog 会直接显示本批实际内容,并结合 Vercel Runtime 补上 Git 与 Deployment 身份,不再为了补日志额外部署一次。
  • 文章支持账号私有高亮,可保存、换色、删除和恢复,不修改文章原文。
  • 文章朗读改为先搜索文章、再明确选择具体段落进行录音或上传;已发布分段音频可按正文顺序播放并跟随文字高亮。
  • 后台新增未绑定 Narration 音频的恢复入口,可先预览再绑定到明确段落,并对删除与失败清理增加引用保护。
  • Production 新增 Release Changelog Gate:缺少、未完成或与本次触发不匹配的生长记录时,构建会被直接阻止。
  • 生长记录与同一次 Production 一起进入构建;上线后 /changelog 使用 Vercel Runtime 补齐实际 Git SHA、Deployment 和运行地址,不再为了补日志额外部署一次。
工作来源 · LMN516 Control Tower + Change Manager + implementation WorkersGit · d0fb8bfVercel · READY

Production deployment and release-candidate identity are aligned. This is historical LIVE evidence, not a newly assigned semantic version.

V3.2.0证据已对齐

Control Room Super Projection V1

Control Room 从 Live Tower 状态列表升级为面向 Q/RUN/Issue/Git/Deployment/Evidence/验收闭环的超级投影控制中心。

  • Live Tower 正式并入 Control Room 一级信息架构,并保持 3 秒实时 Projection 刷新。
  • 新增组合筛选、Q Explorer、Q Inspector、Timeline 事件回放与 System Health。
  • 新增跨 Q 的 Global Graph,可查看已记录 Issue、RUN、Patch、Commit、PR、Deployment、Artifact、Evidence 与 Acceptance 关系。
  • 修复 RUN 关联/活跃状态混淆、旧验收事件窗口丢失和筛选后 Inspector 残留等真值问题。
工作来源 · ChatGPT + LMN516 Control TowerGit · 0ed4c58Vercel · READY

Git, Vercel, durable LMN/Control Tower records and owner acceptance agree.

V3.1.1证据已对齐

Command K Voice Input Node V1

全站搜索加入可复用的中文语音输入节点,并完成真实设备验收。

  • Command K 增加麦克风入口与开始/停止识别状态。
  • 语音转录继续复用现有搜索管线,没有复制搜索逻辑。
  • 真实设备测试通过,Git 与 Vercel Production 均有精确锚点。
工作来源 · Agent-era / exact worker pending backfillGit · 4d34a88Vercel · READY

Git, Vercel and the accepted LMN issue record agree.

V3.1历史重建

Digital Garden 变成可以交流的世界

Living Garden、留言信箱、回复推送与花园视觉开始形成完整体验。

  • Living Garden 首页
  • 花园留言与回复推送
  • 全站 Garden World 视觉层
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Milestone narrative preserved; exact technical anchors are not yet fully reconstructed.

V3.0历史重建

Digital Garden 设计语言成形

设计系统、品牌系统、卡片语言与响应式导航被整理成统一方向。

  • Digital Garden Design System
  • LMN516 Brand Kit
  • Card-first 信息结构
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone, not yet a fully anchored release record.

V2.1历史重建

从页面打磨走向 UI Design System

字体、间距、容器、卡片、按钮、导航、动效和夜间模式开始系统化。

  • UI Design System
  • 照片页面
  • 响应式与代码拆分
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone, not yet a fully anchored release record.

V2.0历史重建

新版网站的主要功能成形

Next.js 前端、文章系统、生活档案、照片、碎碎念、主题与交互集中成形。

  • WordPress REST 内容连接
  • Next.js 文章与归档
  • 生活档案与碎碎念
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone, not yet a fully anchored release record.

V1.5历史重建

WordPress 走向 Headless + Next.js

lmn516-v2 建立,WordPress 保留内容后台,Next.js 接管前端并接入 GitHub/Vercel。

  • Headless WordPress
  • Next.js App Router
  • GitHub + Vercel 自动部署
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone, not yet a fully anchored release record.

V1.0历史重建

WordPress 阶段:个人网站正式建立

VPS、Nginx、MariaDB 与 WordPress 组成第一套可持续发布内容的网站。

  • VPS + Nginx
  • WordPress + MariaDB
  • 域名、HTTPS 与媒体内容
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone, not yet a fully anchored release record.

V0.5历史重建

从一个网页开始

静态 HTML、Nginx、Hugo 与 PaperMod 等早期尝试让域名、服务器和个人内容逐渐聚到一起。

  • 静态 HTML / Nginx
  • Hugo / PaperMod
  • 个人域名与 VPS
工作来源 · Human + GPT historical poolGit · 待反查Vercel · 待反查

Historical milestone reconstructed from existing narrative.

RELEASE RULE

Commit、Merge、Preview 都不自动等于一个版本。

只有真实上线、证据可追踪并经过验收的网站状态,才获得正式语义版本号。 历史证据不完整时使用「历史重建」或「待反查」,不补造 Git SHA、Deployment ID 或工作来源。

生长记录保留过程与意义;Runtime 记录此刻;Release Registry 记录已核验的上线事实。

回到 LMN516