# PR Monitor

HWLAB PR monitor 统一使用 `bun scripts/cli.ts hwlab g14 monitor-prs ...`，GitHub 写入必须走 UniDesk `gh` 受控入口。

## G14 主线

```bash
bun scripts/cli.ts hwlab g14 monitor-prs \
  [--lane g14|v02] [--once] [--dry-run] \
  [--interval-seconds N] [--max-cycles N] [--timeout-seconds N]
```

后台 worker 监控 `pikasTech/HWLAB` 的 open PR，经 preflight、自动合并、CI/CD 观察到 DEV `Synced/Healthy` 后追加指挥简报。状态指针按用途分离，避免 once/dry-run 覆盖长期 monitor 指针。

## v0.2 Lane

```bash
bun scripts/cli.ts hwlab g14 monitor-prs --lane v02 [--once] [--dry-run]
```

只监控 base=`v0.2` 的 PR。CD 采用 latest-only：旧 PipelineRun 不取消、不等待，stale commit 以 superseded/no-op 收口。合并后在原 PR 下追加语义化状态评论，正文必须包含起止时间、source commit、PipelineRun、targetValidation、Argo/webAssets 和 git mirror `pendingFlush/githubInSync`。

## v0.3 Lane

```bash
bun scripts/cli.ts hwlab g14 monitor-prs --lane v03 [--once] [--dry-run]
```

只监控 base=`v0.3` 的 PR。Ready PR 可经 UniDesk `gh pr merge` 合并；合并只更新 source authority，不创建 PipelineRun。需要 L2/L3 发布时必须另行执行 `release plan`，范围准确后再由 CLI 手动发送 PaC webhook；Monitor 不得自行触发发布。

CI/CD validation 只允许使用部署对象的 `/health` 端点和必要 provenance；禁止在 CI/CD gate 中运行 web-probe、Playwright、远程浏览器截图或用户路径 E2E。public health probe 必须使用 `config/hwlab-node-lanes.yaml` 选中 node/lane 的 formal public URL；裸 IP、FRP 端口和 legacy 端口只作为边缘诊断证据，不能作为 CI/CD 验收口径。
