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:
@ -92,6 +92,23 @@ test('跨端提交必须自报家门(同时改 harmony 与 electron 的提交
|
||||
* 一律豁免 —— pi 明确说历史不用改,规则管"从今往后"。
|
||||
* `COMMIT_HYGIENE_BASELINE` 可覆盖(用于验证判据真的会红)。
|
||||
*
|
||||
* ── ★★ 2026-10-03 基线推进(**与下面 2026-09-24 同形状的第二次**:两条 `fix(harmony):` 改了双端)──
|
||||
*
|
||||
* 实测两条,都在**基线之前**、且**已推到 origin 与 origin-https** ⇒ **不改历史**:
|
||||
* 7d081095 fix(harmony): ★★ 顶部文案用 windowDecor 判 2in1(真机实测)
|
||||
* → client/electron/test/harmony-2in1.test.mjs + client/harmony/.../MainPage.ets
|
||||
* 477479a37 fix(harmony): ★★ 三页 AppHeader 顶栏避让硬编码 0(真机实测)
|
||||
* → client/electron/test/harmony-window.test.mjs + 鸿蒙三个 .ets
|
||||
*
|
||||
* ★ 为什么是**同一族**疏漏:它们都**改了鸿蒙源码 + 同步改另一侧的判据**,
|
||||
* 而"鸿蒙侧的每次修复都要同步改另一侧的判据"正是本仓的跨端纪律
|
||||
* (与 2026-09-24 那四条的成因逐字相同),只是 subject 只写了 `fix(harmony):`。
|
||||
* ★ 为什么**不能** `git commit --amend` 补标:两条都已推送
|
||||
* (实测 `merge-base --is-ancestor` 对 origin 与 origin-https 均为真)⇒ 改写会分叉远端。
|
||||
* ★ 也**不能**往 `MARKERS` 里放行 `fix(harmony):` —— 那等于**永久**允许
|
||||
* "说单端、实际改两端",判据从此失灵(与 2026-09-24 那次的结论一致)。
|
||||
* ⇒ 唯一正确处置:**推进基线**(编辑本文件即推进),并把这两条具名记在这里。
|
||||
*
|
||||
* ── ★★ 2026-09-24 基线推进(本条注释的作用就是推进它)──
|
||||
*
|
||||
* 机制:基线 = **最后修改本文件的提交**(上面那行 `git log -1 -- …`)。
|
||||
|
||||
Reference in New Issue
Block a user