# R1 任务报告

## 关联

- 来源任务：[UniDesk #2133](https://github.com/pikasTech/unidesk/issues/2133)，MDTODO `R9.1`。
- 改进 issue：[UniDesk #2153](https://github.com/pikasTech/unidesk/issues/2153)。
- 后续语音主线：[UniDesk #2148](https://github.com/pikasTech/unidesk/issues/2148)，本改进不构成其门禁。

## 问题判断

R9.1 的远程 Docker GPU 实验需要多次手写后台 PID、status、log、证据和清理命令。仓库已有 60 秒短连接规则及专用 async 实现，但 `unidesk-trans` 没有面向一次性远程实验的参数化模板。

已查重：

- `#431/#435` 只处理 Playwright 专用 submit；
- `#2148` 已吸收稳定 Torch/TorchAudio ABI 预检经验，但不是工具或 skill 改进；
- 未发现覆盖通用临时 build、Docker GPU、模型下载和硬件 smoke 的重复 issue 或 MDTODO。

## 交付

- 新增 `.agents/skills/unidesk-trans/references/remote-experiment-smoke.md`：
  - 定义 `route`、`work_dir`、`resource_prefix`、`job_id`、`command`、artifact allowlist 和停止条件；
  - 提供一次 preflight；
  - 提供 job 脚本、submit 和 bounded poll；
  - 统一原入口 evidence 字段；
  - 提供按 label 或资源前缀执行的幂等 cleanup；
  - 明确网络、registry、ABI、OOM 和模型失败必须分层记录。
- 更新 `unidesk-trans` skill 与 operation reference 索引。
- 新增独立 MDTODO，避免把改进夹入 SelfMedia 业务任务。

## 验证

- 五个 Bash 代码块替换占位符后均通过 `sh -n`。
- Markdown fence、reference 文件和 `git diff --check` 通过。
- NC01 原入口完成一个真实最小 smoke：
  - submit 返回 PID；
  - poll 返回 `state=finished exit=0`；
  - artifact 内容为 `template-smoke-ok`；
  - stdout/stderr 均为 `0` bytes；
  - cleanup 复查为 `clean`。

## 边界

- 未新增 CLI 子命令、后台服务、安全机制或正式运行面。
- 未硬编码 Qwen、CosyVoice、D518、镜像、模型或端口。
- 未修改 `#2148`，未触发 Docker、GPU、CI/CD 或 rollout。
