用途:GitHub delivery watchdog 是一个确定性的定时主机命令,用于周期性检查拉取请求,并只合并当前 head 上具备独立评审、测试和通过 CI 的分支。它不创建智能体或会话,也不需要智能体配置。
主要能力:要求精确 head 上 software-factory/tests 与 software-factory/review 成功,其他状态和 Actions 全部通过,base 为最新、PR 非草稿且 GitHub 报告可合并。缺失、待定、失败或不可访问的证据都不允许合并。head 变更后需重新评审和测试。若已接受分支落后于 base,会请求 GitHub 更新并保留评审触发标签,新 head 仅在后续运行中考虑。合并请求包含预期 head SHA。
使用方式:配置仓库范围的细粒度 PAT,需 Contents 与 Issues 读写,以及 Pull requests、Actions、Commit statuses、Metadata 读;Contents 写允许合并,Issues 写用于分支更新时保留评审标签。切勿把令牌值写入自动化定义。将 scripts/worker.py 打包为 worker.py,共享的 scripts/github_client.py 打包为 github_client.py。目录包声明这些确切文件,其 config.json 提供 repos、branch_prefix 和保存的密钥名,共享 GitHub 客户端只解析该命名密钥。自动化负责调度与取消。可设置 branch_prefix(默认 openhands/issue)、base_branch(默认仓库默认分支)和 required_workflow_ids。
限制:required_workflow_ids 为空时 Actions 可选,但两个验收状态仍为强制。分支保护仍是 GitHub 的最终合并门禁。