feat(criteria): 文件名不得是"句子里的一段" —— 我为**自己制造的**那个化石加守
## 我制造了什么(本会话 `34bcd3e9` 那轮,实测复现) ``` 我在 bash 里写了一句带嵌套未转义双引号 + 裸 `>` 的说明: echo " ⇒ 所以"mtime > 动作时刻是**必要但不充分**,且会被**后人无关的写**覆盖"" bash 把 `>` 读成**重定向** ⇒ **在仓库根建了一个文件**: 文件名 = `动作时刻是**必要但不充分**,且会被**后人无关的写**覆盖` 内容 = ` ⇒ 所以mtime`(18 字节) ⇒ 我在检查工作树时看到 `?? "动作时刻是…"` 才发现的。 用 /tmp 里的最小复现验证到**同名同内容** ⇒ 确认是我的 shell 引号事故,不是别人的。 ``` ## 为什么值得一条判据(它会被提交) ``` · 未跟踪文件**不会**被普通 `git add <path>` 带上 ⇒ 平时看不见、不会被门禁提醒; · 但本仓**明文记录过 `git add -A` 事故**(`docs/DEV-TOOLING.md`: 含把约 7000 行重排扫进功能提交那次) ⇒ 下一次 `-A` 就会把这个"句子文件"带进历史,而**进了历史就永远删不干净**; · 它的**名字本身就说明它是无意的** —— 没有人的文件名会是"…且会被**后人无关的写**覆盖"。 ``` ## 判据(零先例实测 ⇒ 不误伤) ``` 仓库内(排除 node_modules/.git/build/release/dist/.hvigor/.codegraph/oh_modules) 不得有名字含**中文标点**(,。、!?;:()「」“”《》【】)、**markdown 粗体 `**`**、或**换行**的文件 ★ 判**名字的形态**,不判目录 —— 按目录裁豁免正是本仓记过的"给逃逸指路"。 实测先例: 加这条之前全仓命中 **0**(根目录 0、全仓 0)⇒ 不误伤任何现存文件。 ``` ## 双向变异 ``` ① 重建那个句子文件名 ⇒ **not ok 10**,逐个点名 ✓(上面就是它抓到的输出) ② 删掉 ⇒ 10/10 绿 ✓ ``` ## 顺带 ``` run-all.mjs 注册条数 9 → **10**(新增 test 必须登记精确条数,本仓约定) ``` ★ 这条与我这轮前两条(`fc54a81` 两处排除、`b16c38a` "提到≠发现路径")是**同一族**: **"看起来像在表达一件事"的东西被当成了"它就是那件事"** —— 前两条在判据的**匹配口径**里,这条在**文件名**上(一段散文被当成了路径)。 验证: criteria-hygiene 10/10;drift 自检 64/0;两文件 `node --check` 通过; 现场: 探针已删(`git status` 只剩本提交的两个文件)。
This commit is contained in:
@ -138,7 +138,7 @@ const SUITE = [
|
||||
['test/commit-hygiene.test.mjs', ['--experimental-strip-types', '--no-warnings'], 4],
|
||||
// 判据目录自身的卫生:读文本必须走 test/lib/read.mjs 的具名入口;
|
||||
// 非门禁工具必须有**发现路径**;⑤b 负向清单两处副本都要点名同一对失败类
|
||||
['test/criteria-hygiene.test.mjs', [], 9],
|
||||
['test/criteria-hygiene.test.mjs', [], 10],
|
||||
// 用户管理页(P4c 同批):动作↔服务端调用同名 / 门禁只认严格 admin /
|
||||
// 启停只发 status / 「受限」徽标口径 / 页面零写死色值 / 接线(纯逻辑真被调用)
|
||||
['test/harmony-admin.test.mjs', ['--experimental-strip-types', '--no-warnings'], 31],
|
||||
|
||||
Reference in New Issue
Block a user