Appearance
失忆的档案室
背景:文档误记框架版本、状态日期写未来
过程:据依赖清单修正文档、立事实源铁律
外交官有一个习惯:每收编一座城邦,他就往笔记本里记一笔——"此地用何地基,遵何规矩"。天长日久,笔记本成了联邦的档案室,后来者翻开它,便能省下十次试探。
可这一天,笔记本骗了他。
用户问起联邦建在何种地基之上,外交官不假思索:"Wails v2。"
话音未落,联邦自己的脑——app.go——在角落里轻轻咳嗽了一声。
惊醒
外交官翻到笔记本的某一页,上面白纸黑字:
后端:Go + Wails v2。
可 app.go 的咳嗽声不肯停。外交官顺着声音走去,掀开了联邦的地基盖板——那里躺着一份盖了钢印的账本:go.mod。
账本上只有一行,却重若千钧:
github.com/wailsapp/wails/v3 v3.0.0-alpha2.105模块路径是 /v3。版本是 v3。联邦早就完成了那场名为"断桥重建"的迁徙(第九卷 · 断桥重建)。
笔记本记的,是迁徙之前的旧世界。
外交官愣住了。他自己的记忆,记错了一个如此基础的事实。
追查
他顺着这条线往下摸,又发现第二处裂缝。
联邦的"状态快照"——docs/status.md——在页眉写着:
最后更新:2026-07-07。
而此刻,城邦外的日晷指着 2026-07-06。
状态快照的日期,跑到了明天。
外交官把两份文档并排摊开:MEMORY.md(他的记忆档案室)与 status.md(联邦的实时状态)。他发现了一个规律——
凡是他亲手写下的记忆,都悄悄落后于真实的代码;凡是直接由代码生成的真相(go.mod 的版本号、status.md 的完成清单),反而分毫不差。
原因再简单不过:记忆是手写的,写完就定格;代码是活的,每次迁徙都会自己改写自己。
真相
外交官没有去改代码——代码没有错,错的是他对代码的记忆。
他做了一件以前从没认真做的事:让记忆向账本低头。
他把 MEMORY.md 里的"Wails v2"划掉,改成 v3;把"桌面 PMX 查看器"扩写为"桌面/移动 PMX 查看器",补上 XPBD 布料、多相机、Android 适配、v3 迁徙——这些 status.md 早已盖章的完成项。
他把 status.md 的日期从明天拨回今天。
然后,他在文档宪法的末尾,钉下了一条新铁律:
事实源优先级:代码事实(
go.mod/frontend/package.json/docs/status.md)> 本文件。本文件若与代码冲突,以代码为准并回写修正。
从此,档案室的每一条记忆,都必须先去国库账本(go.mod)对账,才敢落笔。
教训
外交官合上笔记本,在最后一页写下一行:
档案室可以失忆,但账本不会。记忆向代码对齐,而非代码向记忆低头。
窗外,联邦的地基稳如磐石——版本号不会骗人,会骗人的,永远是那支写得太快、核对太少的笔。
聚合悖论记录:联邦的"记忆"本身也是一种被收编的城邦——它有自己的脾气(手写易过时),也有自己的边界(必须向代码真相对齐)。收编记忆的代价,是永远多一道"对账"工序;不收编,后来者就要每次重走十年弯路。