mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-01 06:47:29 +00:00
c20e7c6标题声称「撤掉证据步②」,但其 diff 只做了两件事: 把8cfb3e0的 `# none` 空表标记回滚成 pkg 排除行,并给空表守卫加了 `&& false` 死条件。证据步②一行未删。本 commit 补做其声称之事。 ## 改了什么 1. ci.yml 的 TABLE heredoc 数据行: pkg|internal/kernelmod/all|…|KERNEL-REGISTRY-SETLOCK → `# none` 恢复8cfb3e0的本意:排除项撤掉后,表必须留下显式空表标记, 否则「删空」与「漏写标记」不可区分(ID:19 的守卫会判红)。 2. 删除证据步②整块(注释块 + step + 收尾 echo): 该步的判据是「7 个 Set* 仍是单行无锁直写」,而 registry.go 里 这 7 个已被19c78ca全部改为取写锁 ⇒ 该步按其自身设计必然报红 (实测 EXIT=1,原文「仍为无锁直写的 Set*: 0/7」+ ::error)。 排除项已撤、缺陷已修,该步的因果链已闭合,整体移除; 不换成「跑 N 次 0 条 DATA RACE」这类拿偶发概率充判据的替代品。 ## 不在本 commit 范围(明确留手) · check-ci-gates.py 第 6 段 `KERNEL-REGISTRY-SETLOCK` 断言未动 —— 它是条件式(`if … or "pkg" in allrace`),表空时整段自动跳过,不会红。 · `&& false` 未动 —— 已由c963d84修好。 · bootgraph_test.go 未动。 ·19c78ca的业务代码(registry.go / registry_setlock_test.go)未动。 ## 实证(提交前实跑) · yaml.safe_load → yaml OK(EXIT=0) · python3 .github/scripts/check-ci-gates.py → EXIT=0 原文「CI 门禁自检通过:动态枚举 / 排除表校验 / 启动图判据步骤 / 交叉枚举 / 全部 run 步骤语法」 · grep -n '&& false' .github/workflows/ci.yml → 0 命中(exit=1) Co-authored-by: pi <pi@local>