# R2 任务报告

## 结果

- 已完成 [HWLAB #2573](https://github.com/pikasTech/HWLAB/issues/2573) 的 CaseRun 单命令静态审计入口。
- [PR #2578](https://github.com/pikasTech/HWLAB/pull/2578) 已合并到 `v0.3`。
- 合并提交为 `f63ec3beb1ebe4fbcfcdded4ab25ad25398e82c9`。
- 本任务属于无服务工作流，`rollout=not-applicable`。

## 实现

- 新增 `hwlab-cli case audit`：
  - 一次覆盖 scoped 类型检查、依赖方向、重复顶层纯 helper、压缩顶层声明和源码行数。
  - 默认输出 compact text，显式 `--json` 输出结构化报告。
  - 审计 finding 使用 typed code；退出码 `0` 表示通过、`1` 表示命令失败、`2` 表示发现问题。
- 类型审计只排除明确的环境噪声：
  - 目标模块内其余 `category=Error` 的 TypeScript diagnostic 默认形成 finding。
  - 不再使用错误码白名单静默忽略 TS2322、TS2339 等常见错误。
- 未恢复 v0.2 URL、fallback、direct route 或旧 workspace。
- 未改变 CaseRun evidence、manifest、aggregate、terminal、warning、registry、HWPOD 或 runtime 业务语义。

## 验证

- 既有六个 focused suite：59 pass，0 fail。
- fixture 明确覆盖 TS2322 与 TS2339，并保留独立干净模块的通过路径。
- Python `py_compile`、`git diff --check` 和工作区清洁检查均通过。
- 合并后在 `NC01:/root/hwlab-v03/.worktree/caserun-static-audit` 执行原入口 smoke：
  - CLI help 正常。
  - JSON audit 返回退出码 `2`、`ok=false`、`findingCount=39`。
  - 39 项均属于 `type_check`；依赖、重复 helper、压缩声明和行数检查通过。
  - 输出未截断。

## 残余问题

- 当前 `v0.3` CaseRun 源码仍有 39 个类型 finding：TS2339 36 项、TS2353 2 项、TS2554 1 项。
- 这些 finding 是本审计入口发现的既有源码问题，不在 R2 的业务代码修改范围内。
- 后续应在独立 issue 和 MDTODO 任务中治理，不能通过恢复错误码白名单隐藏。
