JianFeeeee
21332de5e7
test(判据): criteria-hygiene 的 AGC 探针自检改用临时仓合成对照
## 为什么要改
那条判据("AGC 真身从未进过远端历史")的自检原本要求
**本地可达历史里确实有该路径**,用它证明 `git log -- <路径>` 这套查法可用。
★ 那个前提**已经不成立**了:真身**从未被提交过**
(`client/harmony/.gitignore:26` 一直在挡它),所以本地历史里
本来就查不到 ⇒ 这条判据**永久红、且无法自查**。
(注释里引用的 `7647c24` / `320c93f` 在本树也**不存在**。)
而判据的分诊早已确认:真身确实从未进过历史(被 ignore 正确挡住),
红的是**探针的假设**失效,不是缺陷存在。
## 改法:合成阳性 + 阴性对照
在**临时仓**(`mkdtemp`)里造两个提交 —— 一个含待查路径、一个不含 ——
对两者跑同一套查法,断言**双向有分辨力**。临时仓不碰本仓任何状态
(`GIT_CONFIG_GLOBAL=/dev/null` 避免读用户配置),造完即删。
为什么**必须**有阳性对照:一条用来抓泄露的判据,
**正确工作**时恰好永远看到"空"(没泄露 ⇒ 查不到)。
**"真值恰好是空"与"查法坏了"在输出上同形**(都是空串 + exit 0)
⇒ 真实历史里没有阳性样本可用,只能现造。
## ★ 阴性对照第一版写错了(变异测试打出来才发现)
我先写成查一个**真实存在**的无关文件 `unrelated.txt`。
变异把它改成查阳性那个 `leaf.json`,判据**照样绿** ——
因为查 unrelated 本来就该命中,那不叫"查法在乱报"。
⇒ 阴性对照要证明的是「**不存在的**目标查不到」,也就是**查法有边界**。
改成查 `no-such-file-ever.json`,并**额外**验一次 sanity
(真实但无关的文件**应当**查得到)—— 两个方向都对才算有分辨力。
改后双向变异都能打红(阳性查不到 ⇒ 红;阴性恒命中 ⇒ 红)。
2026-09-28 08:46:02 +08:00
..
2026-09-13 06:16:59 +08:00
2026-09-14 11:07:03 +08:00
2026-09-15 13:55:01 +08:00
2026-09-28 08:46:01 +08:00
2026-09-28 08:46:02 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 14:57:18 +08:00
2026-09-14 11:07:03 +08:00
2026-09-21 13:29:24 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 16:00:34 +08:00
2026-09-08 19:16:35 +08:00
2026-09-21 13:29:24 +08:00
2026-09-21 13:29:24 +08:00
2026-09-21 13:29:24 +08:00
2026-09-21 13:29:24 +08:00
2026-09-21 13:29:24 +08:00
2026-09-12 09:54:31 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 09:11:36 +08:00
2026-09-12 08:02:30 +08:00