loop-on-ci · diff

git:20260905.751659e to git:20260905.64eb187

9 added, 8 removed. Audit A to A.

---
name: loop-on-ci
description: 在已有 GitHub PR 需要持续观察 Actions 检查、读取失败作业日志、修复问题、重新运行并跟到全部检查变绿时使用。适用于围绕同一个 PR 反复验证,而不是一次性状态查询。
- compatibility: 本地 Claude/Codex 配置;需要客户端支持手动调用限制,并提供 git、可访问 Actions 运行记录、作业和日志的 GitHub 连接器以及网络访问。
+ compatibility: 本地 Claude/Codex 配置;需要客户端支持手动调用限制、git 和网络访问。Actions 查询优先使用 GitHub 连接器,也可按能力边界使用现有已授权身份的 gh CLI/API 只读回退。
when_to_use: 已经有 GitHub PR,需要围绕同一个来源分支版本反复读取 Actions 状态和日志、修复失败项、推送、重跑并验证,直到全绿或明确发现阻塞。
disable-model-invocation: true
---
# 持续跟进 GitHub Actions
## 目标
- 围绕当前 PR 的 GitHub Actions 检查持续修复问题,直到全部通过或确认阻塞点。GitHub 连接器是 PR、工作流、作业、步骤和日志状态的事实来源。
+ 围绕当前 PR 的 GitHub Actions 检查持续修复问题,直到全部通过或确认阻塞点。以 GitHub 当前 PR、工作流、作业、步骤和日志为证据,优先通过连接器获取。
## 核心原则
- 每轮先确认 PR 来源分支提交 SHA,避免分析旧运行记录或旧日志。
- - 通过连接器按 `PR -> head SHA -> workflow runs -> jobs -> steps/logs` 获取证据。
+ - 按 `PR -> head SHA -> workflow runs -> jobs -> steps/logs` 获取证据;连接器能力不足时使用下述只读回退。
- 一次只处理一个明确失败原因;每次推送后重新读取 PR 来源分支版本与新运行记录。
- 不用 `gh` CLI 复制连接器已提供的 Actions 能力。
- `codecov/project`、`codecov/patch`、flag 或 component 失败转给 `codecov-coverage`。
## 基本流程
1. 确认目标仓库、PR、当前分支、工作区和 PR 来源分支提交 SHA。
- 2. 用 GitHub 连接器获取该提交对应的拉取请求工作流运行记录。
+ 2. 优先用 GitHub 连接器获取该提交对应的工作流运行记录;未提供所需查询能力时按下述边界回退。
3. 对失败运行记录获取作业,再读取失败作业的步骤和完整日志。
4. 用日志与代码/配置建立根因证据链;证据不足时报告缺失项,不猜测偶发不稳定。
5. 修复当前 PR 引入的问题,运行仓库允许且与改动对应的验证。
6. 提交并推送后确认 PR 来源分支版本已更新,再等待并读取新运行记录;不要复用旧运行记录的结论。
7. 需要重跑时优先使用连接器重跑单个作业;只有多个失败作业共享同一原因时才重跑全部失败作业。
- 8. 重复直到全部 GitHub Actions 检查通过,或遇到权限、外部依赖、无日志、来源分支版本并发更新等明确阻塞。
+ 8. 重复直到全部 GitHub Actions 检查通过,或遇到权限、外部依赖、经可用的授权只读查询仍无法获取必要日志、来源分支版本并发更新等明确阻塞。
- ## 连接器边界
+ ## 能力与权限边界
- - 当前连接器只返回由拉取请求触发的运行记录和第一页结果。目标 run/job 不在结果中时,报告分页或触发类型限制,不声称 CI 不存在。
- - 连接器缺少 Actions 读写权限时,明确缺失权限;不自动切换到其他凭据或执行写操作。
+ - 先检查当前连接器实际支持的查询能力。连接器不可用,或因分页、触发类型、未实现的接口而无法取得目标 run/job/log 时,可使用当前任务已授权的 `gh` CLI/API 补充只读查询,并核对目标仓库与 PR head。不得把工具能力缺口当作 CI 或日志不存在。
+ - 只使用当前任务已授权的身份和权限范围;收到明确权限拒绝时,说明缺失权限,不通过更换凭据或身份绕过。
+ - 只读回退不授权重跑、提交、推送或其他写操作;写操作仍须处于当前任务已有授权范围内。
- 非 GitHub Actions 检查不伪装成 Actions 作业。Codecov 使用 `codecov-coverage`;其他外部 CI 只报告名称和链接,除非用户另行指定处理方式。
## 何时不要使用
- 只是读取一次 PR 或工作流状态,不需要持续跟进。
- 当前还没有 PR。
- 只是 Codecov 覆盖率查询或门槛失败,使用 `codecov-coverage`。
- 本地测试或普通代码异常,使用 `systematic-debugging`。
## 输出要求
- PR、当前来源分支提交 SHA 和本轮工作流运行记录。
- 每个失败作业的关键日志证据与代码/配置路径。
- 已做的修复、验证、提交和推送和重新运行状态。
- 当前是否全部通过;未通过时给出准确阻塞点。