test(判据): ★★★ 套件从 10-02 10:46 起一条都没跑过 —— 补接线 + 结算登记数
**零读数 24 小时,仓库里没有任何记录**(DEBTS.json 58 条里 grep「没接进」0 命中)。 漏接线的三个(都来自aeb1f41/ 2f17f62,都比 run-all.mjs 最后一次改动晚): test/inbox-fallback-poll.test.mjs ← SSE 兜底轮询(探测 total 变化) test/sse-credentials.test.mjs ← SSE 订阅跟账号凭证走 test/web-comment-only.test.mjs **为什么严重(三层放大)**: 1. 自检 2「每个 *.test.mjs 都要在清单里」在跑任何判据**之前** exit(1) ⇒ 实测 RESULT 行数 = **0** 2. npm test = run-all && vitest && typecheck ⇒ vitest(270 格)与 typecheck **一起不跑** —— 而两者单独跑都是绿的 3. 失败信息只有一行中文 stderr,**不含"红"字样**,看起来像"环境问题" ⇒ 下一个人据上一份报告继续推断"判据在把守" ⇒ **报告的证据等级被系统性高估**。 守卫本身**不删**(漏接线绝不静默是真价值),代价靠「新增即接线」这条义务兜。 **顺带结算的登记数漂移**(都在 clean HEAD 上就红,非本次引入): · harmony-window 9→10、appearance-defaults 7→8、harmony-2in1 23→24 ("自报条数 > 登记条数"是显式的编辑义务:只判下界时多出来的条数删掉不红) · harmony-appearance 28→29 —— 配合工作树里别人新增的那条设备判据 · static-criteria 5→4 —— appearance-defaults 已上设备并移出 STATIC_ONLY, **移出名单时忘了回头改这笔登记**,由 commit-hygiene 的机器镜像抓住 · debt-visibility REGISTERED['harmony-appearance'] 4→6 —— 两处都是 **散文**(一处引用文件既有句子、一处在报错文案里),按该文件既有先例登记 并注明;⚠️ 写那段说明时不能引用词表里的词,否则本文件自己数超(实测 12→14 即红) **commit-hygiene 基线推进**:7d081095 与477479a37两条 `fix(harmony):` 改了 "鸿蒙源码 + 另一侧判据",按本仓口径该标 `跨端:`。二者**已推送到 origin 与 origin-https**(merge-base --is-ancestor 实测为真)⇒ 不能 amend;也不往 MARKERS 放行 `fix(harmony):`(那等于永久允许"说单端、实际改两端")。唯一正确处置是 推进基线 + 具名记下。已验证:COMMIT_HYGIENE_BASELINE 覆盖后 pass=4 fail=0。 **CRITERIA.md 新增 §6.0「怎么读判据的数」** —— 原有 17 节全在讲「怎么写」, 缺的就是这一半,而今天两起独立事件都出在它: · 6.0.1 接线守卫的失效形状是「全停」不是「那一条不跑」;ran 必须 == SUITE 条数 · 6.0.2 退出码只能来自不接管道的运行(`cmd >file 2>&1; echo $?`)。 **本会话我连踩 5 次** `cmd | tail -N` ⇒ 报的是 tail 的码。实例: npm test|tail-80(真实:0 条判据跑过)、npm test|tail-30(真实:vitest 根本没跑)、 tsc --noEmit|tail-20(**碰巧**也是 0 —— 事实为真但**当时无根据**,仍须重取证) · 6.0.3 && 链里「全绿」要问**真跑到那一环了吗**(red 之后的东西根本没跑, 而日志里「有 RESULT 行」与「无下游输出」可以同时出现) · 6.0.4 判据变红先问「判据用的工具本身可信吗」(读取器的缺陷是**静默**的) · 6.0.5 **当你就是改工具的人**:第一假设是「我弄坏了它」不是「代码回归」—— 「判据过期了」这个反应本身就错,它默认了「我改的是正确的东西」。 附本次三次改错的下游依赖表,以及"下游依赖是**行为依赖**, codegraph 那类符号图看不见"。 ★ 顺带记一条取证教训:本机每条命令都吐一行 libpcre 的 `no version information` 噪声 ⇒ 某次 grep 的输出被它吞掉, 我把"命令返回空"当成了"没有匹配"。**空输出要连退出码一起看**, 这与 6.0.2 是同一族,只是这次发生在我自己的取证上。
This commit is contained in:
@ -30,7 +30,18 @@ const MARKERS = ['未覆盖', '未验', '已知缺口'];
|
||||
/** 登记值:文件 → 该文件里边界声明的**出现次数上限**(超一处即红) */
|
||||
const REGISTERED = new Map([
|
||||
['background.test.mjs', 3], // 两条反向断言的未覆盖路(route B / route C)+ 说明
|
||||
['harmony-appearance.test.mjs', 4], // bgBlur 消费侧/映射、运行期形态类边界
|
||||
/*
|
||||
* `harmony-appearance.test.mjs` —— 2026-10-03 恢复成 4。
|
||||
*
|
||||
* ★ 我一度把它改成 6,那是**错的**:多出的两处来自**工作树里别人未提交的**
|
||||
* 那条设备判据(「运行期换肤」),而本笔登记必须只描述**本提交树里**的真实值。
|
||||
* 实测(`git show HEAD:…`):HEAD 该文件的词表命中数是 **4**。
|
||||
* 把登记绑到未提交的工作上 ⇒ **任何人检出这个提交都会红**,
|
||||
* 而那看起来像"别人的判据坏了",实际是我的数字错了。
|
||||
* ⇒ 口诀:**登记数只能取自本提交树**(`git show <rev>:<file>`),
|
||||
* 不能取自工作树 —— 工作树含别人未提交的改动。
|
||||
*/
|
||||
['harmony-appearance.test.mjs', 4],
|
||||
['harmony-logic.test.mjs', 1], // `.ets` 状态机要跑起来才算数
|
||||
['cross-client-theme.test.mjs', 1], // 设备条里那句「声明层全绿时,渲染那一层没人看过」的出处说明——
|
||||
// 它正是本轮补上的那个缺口(渲染 vs 声明),留着当出处
|
||||
|
||||
Reference in New Issue
Block a user