docs(lessons): restore deno.lock before image builds

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
rootandClaude Fable 5.1 committed 2026-09-30 03:34:49 +08:00
1 parent 04460fa98e
commit d251098471
1 file changed
+1
+1
View File
@@ -33,3 +33,4 @@
20. 视觉/桌面类能力必须先做 P0 门槛验证(同会话、HTTPS 前提)再投入实现 → 本轮 P0 通过后 8 人日估算的工作一晚完成。
21. 多个子代理共用一个工作区和 git 暂存区并行提交:一路用 plumbing(自建 index / commit-tree)从旧快照提交,把另一路刚提交的文件回退;另一路 `git commit` 时暂存区里是别人的半截状态,又把前一路整体撤掉;文档提交顺带带走了别人暂存的代码(v0.2 收尾 `901b01d` / `28974d1` / `ac47867`,见 08-v0.2-closeout「INT-2 集成记录」)→ **规则**:并行子代理一律各自独立 worktree + 分支(`git worktree add ../wt-<任务> -b <任务>`),只在自己的 worktree 里 `git add` / 提交,不用 plumbing 改共享 index;协调者按顺序合并到 main(迁移编号在合并时定),合并后跑全量 ci。共享工作区里只允许一路写。
22. 清理脚本 `--apply` 前没看 dry-run 清单(子代理的 dry-run 只在测试库跑过)→ 在用户库删了 92 个"孤立单元",其中含 TMDB 季集账本单元,需回刷恢复 → **规则**:任何对真实库的删除类脚本,先对真实库跑 dry-run 并由协调者逐类目过目再 `--apply`,即使用户授权"直接干";删除判定必须按来源区分(临时 vs 元数据来源),默认只删临时数据。
23. **主工作区跑过 `deno install` 后先 `git status`**:宿主机 `deno install` 会把 `deno.lock` 改写(删掉一批 npm 条目),而镜像构建 `COPY . .` 带着工作区里的锁文件跑 `deno install --frozen`,直接失败。构建前 `git checkout deno.lock`(或确认工作区干净)再 `docker compose build`。(v0.3.2 发布时遇到)