diff --git a/deploy/check-deploy-drift.mjs b/deploy/check-deploy-drift.mjs index 98ba76e..298041d 100644 --- a/deploy/check-deploy-drift.mjs +++ b/deploy/check-deploy-drift.mjs @@ -438,8 +438,8 @@ function checkHost(spec) { * * ★ 为什么要有这个函数(不是为了好看,是为了**覆盖全部写点**): * - * `selfCheck()` 里要在临时目录造两棵小树,写点有**五处**(`mk()` 里两处、 - * 后面 `README.md`/`extra.mjs`/`test/t.mjs` 三处)。第一版只在 `mk()` 里包了 + * `selfCheck()` 里要在临时目录造两棵小树,**写点不止一处**(`mk()` 里、 + * 后面裸写的 `README.md`/`extra.mjs`/`test/t.mjs`,还有建目录那两处)。第一版只在 `mk()` 里包了 * try/catch —— 于是后面那几处撞上 ENOSPC 时,异常冒到 `main()` 的 catch, * 退出码是对的(2),但打印的是**原始英文 `ENOSPC: no space left on device, write` * 加一段指向本文件的堆栈** —— 也就是"看起来像检查器坏了"这个信号,**恰恰在 @@ -479,9 +479,20 @@ function describeEnvError(e, what) { * 判据(`code === 'ENOSPC'` / 消息里含 no space left)是稳定的,措辞各自合适即可。 * **若哪天出现第三份拷贝,再考虑共用** —— 两份还撑得住。 * - * 写点计数口径(免得与别处的说法对不上):本函数共 **6 处写** - * = `mkdtempSync` ×2 + `mk()` 内 `writeFileSync` ×2 + 三处裸写 - * (`b/README.md`、`b/lib/extra.mjs`、`a/test/t.mjs`)。 + * ★ **这里原先写了两组互相矛盾的"写点计数"**(pi 评审 2026-09-14 逐处数的): + * 上面 `describeEnvError` 的头注释写"五处",这里写"共 6 处", + * 而这条自己列的式子 `2 + 2 + 3` **加起来是 7** —— 三处说法三个数, + * 且**没有一个等于实际站点数**(实际 `mkdtempSync`×2 + `mkdirSync`×2 + + * `writeFileSync`×6 = **10 处**;函数体后来又长了,数字只会更旧)。 + * + * **所以现在一个数字都不写。** 理由与本仓库那条既有纪律同源 + * ("不要为此引入手抄的期望用例数常量 —— 手抄常量会过期"): + * 注释里的数字**无法被判据守住**,改代码时没人会回来改它们, + * 而"两组数字互相矛盾"比"没有数字"更糟 —— 它让读者以为有人数过。 + * 实例:第 1009 行那个依赖树夹具又加了 3 处写,谁也没回头改这里。 + * + * 要判"覆盖是否完整",只能靠**机制**而不是靠数数:本函数的整段 try/catch + * 保证不论哪一处抛 ENOSPC 都被翻译成人话(覆盖范围不取决于入口、不取决于处数)。 */ export function selfCheck() { try {