用途:为 loom plan 验证生成死代码检测配置,覆盖 Rust、TypeScript、Python、Go、JavaScript。死代码(写了但从未被调用、导入或使用)是集成不完整的信号,在 loom 中用于接线验证与代码质量清理,最适合放在 integration-verify 阶段作为所有实现阶段之后的最终门禁。
主要能力:使用一等字段 dead_code_check(由 loom check <stage-id> 评估的目标回溯检查),schema 含 command、fail_patterns、ignore_patterns。评估方式:在 working_dir 运行 command,120 秒超时,捕获 stdout 与 stderr,逐行扫描;某行包含任一 fail_pattern(纯子串,非正则)且不含任何 ignore_pattern 即为违规,每行生成一个 gap。命令退出码被忽略,只看输出文本,因此 cargo build(退出 0 但有警告)即可,无需 -D warnings。ignore_patterns 匹配整行,可按符号名、文件路径或 #[allow(...)] 回显抑制。注意 fail_patterns 必须与问题项出现在同一行,工具若把发现拆成多行需先验证真实输出。
与 acceptance 的区别:dead_code_check 计入目标回溯检查(满足 has_any_goal_checks),由输出模式匹配决定通过,可被 loom check --suggest 呈现,无需 -D warnings;acceptance 由退出码决定,需 -D/--error 才能失败。
各语言工具:Rust 用 cargo build --message-format=short 2>&1 或 cargo clippy,fail_patterns 如 warning: unused、is never read、never constructed、never used,编译器内置无需安装;TypeScript 用 bunx ts-prune,fail_patterns 如 used in module、module-path,--error 可非零退出,bun add --dev ts-prune;Python 用 vulture src/ --min-confidence 80,fail_patterns 如 unused function、unused class、unused import、unused variable、unreachable code,uv add --dev vulture;Go 用 staticcheck ./...,fail_patterns 如 is unused、U1000、U1001,go install honnef.co/go/tools/cmd/staticcheck@latest;JS 用 bunx unimported,fail_patterns 如 unused file、unresolved import,bun add --dev unimported。
限制与注意:新 loom worktree 不附带依赖(node_modules、cargo 工具二进制、staticcheck),需在 knowledge-bootstrap 安装或加入 sandbox excluded_commands,否则命令报错、检查在空输出上静默通过或晦涩失败;Rust 基于编译器的检查无此依赖,优先使用。working_dir 应指向构建清单所在目录(Cargo.toml、package.json、go.mod、pyproject.toml),所有路径相对它,不用 ../。误报优先用语言原生机制(#[allow(dead_code)]、all、工具配置)抑制,ignore_patterns 仅作后备。建议与 wiring(消费者位置)和功能命令组合,形成可靠集成证明。YAML 中不要在 description 内放三反引号,命令加引号,优先用 rg 而非 grep。