# R4.4 CaseRun 前端 native 敏捷服务任务报告

## 交付

- GitHub issue：[HWLAB #2616](https://github.com/pikasTech/HWLAB/issues/2616)。
- Pull request：[HWLAB #2620](https://github.com/pikasTech/HWLAB/pull/2620)。
- 最终 head：`ee09dabfeba3cec1681c87129cec5eec76db9429`。
- merge commit：`11d9bb59fbc8acc8c558072fb24d5a692e748811`。
- 新增显式 `HWLAB_CASERUN_NATIVE_TEST=1` Vite polling HMR，仅在 native-test 模式代理 `/auth/*` 与 `/v1/caserun/*`。
- 新增 repo-owned CaseRun native API、轮询 supervisor 与 `start|stop|status|logs` 非阻塞服务入口。
- fixture 覆盖 queued、running、completed、failed、blocked、canceled、events 与 aggregate；store/panel 以 API `terminal` 为轮询权威并展示 mode、stage、blocker、events 和 aggregate。

## 分级验证

### L0 focused

- `bun test scripts/caserun-native-fixtures.test.ts`：2 passed。
- `bunx vitest run src/stores/caserun.test.ts`：2 passed。
- 定向 Bun build、`node --check scripts/caserun-native-web-probe.mjs` 与 `git diff --check` 通过。
- 仓库 `check:tsc` 的 Vite build/source-shape 通过；完整 `vue-tsc` 受未修改的既有文件错误阻止，未扩大本任务范围。

### L1 native reload

- native service 的 start/status/health 通过，源码 mtime 变化触发 supervisor `source-change` reload，stop 后 status 为 stopped。
- Vite polling dev server 使用 strict port 启动；`/@vite/client` 与 `/v1/caserun/cases` native proxy 可访问。
- API 序列 queued → running → completed，`terminal` 为 false → false → true，events 与 aggregate 均来自 API。
- 受控浏览器 smoke 在启动前被 `web_login_secret_missing` 阻止；只读检查确认 sourceRef 缺失。未越过本任务边界补 Secret 或部署，repo-owned `web-probe` smoke 脚本已保留供 R4.5 运行面复测。

## Review 与收口

- 审核返工补齐 native aggregate DTO/path/store/panel，并形成最终 head。
- 初始实现与局部返工 writer 均在 #2616 留下 post-task 终态记录。
- PR preflight：`MERGEABLE/CLEAN`，0 failed，0 pending；仅通过受控 GitHub CLI 合并，未人工触发 CI/CD。
