# R11 任务报告

## 任务上下文

- MDTODO：R11。
- GitHub issue：`pikasTech/unidesk#2104`。
- Target：NC01。
- targetWorkspace：`/root/unidesk/.worktree/cicd-long-poll-observe`。
- repository：`pikasTech/unidesk`。
- ref：`feat/cicd-long-poll-observe`。

## 完成内容

- 新增仓库权威 `cli-spec` skill，明确只读观测默认 `120s` 长轮询、严格 duration、终态立即返回和 timeout 可见性。
- 新增通用 `read-only-long-poll` 状态机，支持稳定 cursor、虚拟时钟、错误透传和取消语义。
- 将 PaC `closeout --wait` 从 CLI 本地每 `3s` 重复全量 status 改为目标控制面 Kubernetes watch 驱动。
- PipelineRun 与 PaC 共用同一 watch 判定：空成功为正常 timeout、`141` 为首事件后的 SIGPIPE，其他非零保留认证、网络或 API 错误。
- 新增 `--timeout 120s`，timeout 输出当前状态、`timedOut`、`elapsed`、identity/cursor 和 `next.wait`。
- capture 使用显式调用级 transport timeout，并保留用户 `60m` timeout 所需的固定余量，不依赖全局 env。
- 更新 `unidesk-cicd`、CLI help 和 `docs/reference/cli.md`，明确禁止调用侧 `1s`、`5s` 高频轮询。
- 权威 `cli-spec` 更新位于 `pikasTech/agent_skills#12`，UniDesk 仓内未保留重复 skill。
- 未修改 AgentRun events 或 `unidesk-agentrun` skill，未改变 CI/CD、GitOps、Tekton 或 Argo authority。

## 验证

- `bun test scripts/src/read-only-long-poll.test.ts`。
- `bun test scripts/src/kubernetes-watch.test.ts scripts/src/read-only-long-poll.test.ts scripts/src/ssh.test.ts`，共 38 项通过。
- `bun test scripts/src/cicd-pr-merge-auto-delivery-doc-contract.test.ts scripts/src/cicd-node-status.test.ts`。
- `bun scripts/cli.ts platform-infra pipelines-as-code help compatibility-diagnostics`。
- 非法 `--timeout 1.5s` 被严格拒绝。

## 证据边界

- primary workspace 只用于读取 resource bundle skills 与执行 `trans` wrapper。
- 源码读取、修改、测试和 Git 操作全部在 Target route `NC01:/root/unidesk/.worktree/cicd-long-poll-observe` 完成。
- 本任务不部署、不触发 PipelineRun、不执行 Argo refresh，也不手工触发 CI/CD。
