JianFeeeee
e4cbffd542
docs(欠账): 更正我自己那笔 HIGH 的两处失准 —— 披露存在,只是会蒸发
自查上一条提交时逐行核了 `redeploy-gateway.sh`,发现我把 `shared-workspace-unserialized-deploy`
写重了。两处更正:
## 更正一:不是「无声」,是**披露会蒸发**
初稿写「没有任何东西会红」。**不准确** —— 披露机制存在,而且是 pi 2026-09-25 专门加的:
· `redeploy-gateway.sh:261-265`:脏树时 `warn` 并**逐个列出未提交文件名**
(注释里明说「清单有名字,bool 没有」);
· `check-deploy-drift.mjs:1462-1467`:把 `vcs.modified=true` 作为 **WARN 披露**,
且**刻意不判红**。
⇒ 真正缺的不是披露,是**披露的持久性**。实测 09:52 那次的清单**已不可复原**:
脚本无 `tee`、journal 0 行、`/tmp` 只剩无关产物。**事后没人能说出那次构建
带了谁的哪些文件** —— 而那正是当初加这条披露的全部理由(2026-09-14
`pool.mjs` 那一行未提交的 `let missingSessionCount = 0;` 就是这么进生产的)。
## 更正二:假安全感有**两处**,不只 `flock`
`check-deploy-drift` 的 `modified` **WARN 不参与退出码** ⇒
「反正有判据在报」,而 WARN 不进退出码,**没有东西会因此停下**。
## `due` 同步改写
原文建议「部署时若有未提交改动就拒绝」—— 那会与既有设计**直接冲突**:
`check-deploy-drift.mjs:1462-1467` 刻意不判红,理由写在代码里
(脏树在本仓是常态,判红=总在亮)。改到真正缺的那格:
**让部署把「构建时的未提交文件清单」持久化**(写进构建物旁边 / 归档日志)。
并加一句 ⚠ 提醒别顺手把 WARN 改成判红。
## 验证
`go test -race -run TestDebtLedger ./internal/repo/` PASS(含 due/where 非空与按形状断言);
electron `commit-hygiene` 4 pass。JSON 合法,debts 32。
用 `json.dumps(indent=2)` 改写以保证**其余 31 条逐字节不动** ——
diff 只有 2 行命中,前 31 条 id 顺序与内容均未变(已逐条比对)。
★ 改机器可读文件前先验过 round-trip 逐字节一致才动手,否则一次
`json.dump` 就会把整份文件重排、淹没真正的改动。
2026-09-28 10:13:15 +08:00
..
2026-09-28 10:08:25 +08:00
2026-09-28 08:46:02 +08:00
2026-09-27 04:11:38 +08:00
2026-09-26 07:44:33 +08:00
2026-09-28 10:13:15 +08:00
2026-09-25 07:47:13 +08:00
2026-09-19 12:47:32 +08:00
2026-09-14 16:11:00 +08:00
2026-09-15 11:17:23 +08:00
2026-09-24 10:10:32 +08:00
2026-09-15 11:21:00 +08:00
2026-09-13 06:16:59 +08:00
2026-09-08 19:16:35 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 23:50:35 +08:00
2026-09-21 07:04:04 +08:00