Files
HomeAgent/internal/kernelmod
JianFeeeee 1905d32053 docs(kernelboot): ID:14 已完成,同步 registry_test.go 失败面第 4 条
## 为什么改
bootgraph_test.go(原 internal/kernelboot/modules/registry_test.go)文件头
「失败面」一节第 4 条是**历史实测记录**,原文结句写着:

    要"红得干净"得让 kernelboot.Run 对 nil 依赖显式报错 —— 那是业务改动,
    不在本线权限内,已记入待办。

ID:14(e70c2b5)做完之后这句成了**假信息**:留着比删掉更有害 ——
下次有人照着它判断「Run 不拦 nil 依赖」,会得出与事实相反的结论。
同时 kernelstate.go 的注释已改成「Run 会显式拦」,两边口径不一致更要命。

## 改了什么(纯注释,**零行为改动**)
- 原记录的「崩在业务代码里」形态**保留**,但明确标注为「ID:14 之前的形态,
  作为为什么需要执行期校验的原始证据」
- 新增「已完成(ID:14,提交 e70c2b5)」小节,写清现在的行为与**实测**结果
- 指向专用回归判据(runtime_dep_test.go / runtimedep_test.go)

## 注释里那句「换成可读报错」是实测过的(非声称)
用真实登记表 kernelmod.Registered() 算 plan 后注入两种变异,均得
*DependencyNotReadyError,**无 panic / SIGSEGV**:
  · 整层逆序    ⇒ 第 0 层拒(produced 为空)
    模块 agent 缺设施 [docmem knowledge llm memory stagehost textmem tracker];
    模块 plugin-host 缺设施 [config docmem kernel-io knowledge lua memory
    stagehost supervisor textmem tracker]
  · 跳过第 2 层 ⇒ 第 2 层拒
    模块 stage-host 缺设施 [knowledge llm textmem]

(初稿写成「第 1 层 … 模块 llm 缺设施 [lua]」,与实测不符,已按实际输出改正。)

## 校验
git diff 中非注释行改动 = 0(grep 计数)
go build ./... = 0 error,go vet ./... = 0 warning
go test ./internal/kernelboot/ ./internal/kernelmod/all/ = ok
2026-10-24 12:58:40 +08:00
..