)]}'
{
  "commit": "c9c1794dab34cc50260cab4a7ddf96f023cff575",
  "tree": "6ff4bd528d17dd1ad51720c868d8ac6336430572",
  "parents": [
    "6d6c36e0a888613b5fd92928056a1ed21a75364a"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Wed Oct 14 09:42:02 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 14 09:42:02 2026 -0700"
  },
  "message": "agents(ci): automatically unblock Buildkite presubmit approval steps (#4268)\n\nModifying `.bazelci/presubmit.yml` inserts a manual Buildkite approval\nstep that blocks all downstream CI jobs until someone unblocks it.\nPreviously, `monitor_remote_ci.py` queried `data/jobs.json`, which\nomits `type: \"manual\"` block steps, and `retry_buildkite_jobs.py`\nrebuilt blocked builds instead of unblocking them.\n\nUpdate `monitor_remote_ci.py` to fetch job metadata via `bk build view\n--json` and automatically unblock manual approval steps with `bk job\nunblock --no-input`. Add `--unblock` and default manual-step\nunblocking to `retry_buildkite_jobs.py`, and document unblocking in\nthe CI monitoring, retry, and merge skills.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b822e62224c8aafc90d067bb17447458ca38b57",
      "old_mode": 33188,
      "old_path": ".agents/skills/buildkite-retry-job/SKILL.md",
      "new_id": "d01707cb01f7881d3f54f78e366e93ac708f0ec7",
      "new_mode": 33188,
      "new_path": ".agents/skills/buildkite-retry-job/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "b0a154ac0cd964793e695c3060074e1ee60f4beb",
      "old_mode": 33261,
      "old_path": ".agents/skills/buildkite-retry-job/scripts/retry_buildkite_jobs.py",
      "new_id": "97e5fb5a8cb54cf300cf7cefa1f1db4fae39991b",
      "new_mode": 33261,
      "new_path": ".agents/skills/buildkite-retry-job/scripts/retry_buildkite_jobs.py"
    },
    {
      "type": "modify",
      "old_id": "e611e64aa0c920e211169953b20151550e988333",
      "old_mode": 33188,
      "old_path": ".agents/skills/merge-pr/SKILL.md",
      "new_id": "f05a760d31e343e0c7577c376aa7ee540e9d1246",
      "new_mode": 33188,
      "new_path": ".agents/skills/merge-pr/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "2e1190d12b022ef7f4be83d93fb1f2ce926d2f1e",
      "old_mode": 33188,
      "old_path": ".agents/skills/monitor-ci-results/SKILL.md",
      "new_id": "2c30533f90bdd88c8959836d8e2ecad9b021d5c9",
      "new_mode": 33188,
      "new_path": ".agents/skills/monitor-ci-results/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "57fde0ce8d7756c17ebefbc787e67fc8e11c535c",
      "old_mode": 33261,
      "old_path": ".agents/skills/monitor-ci-results/scripts/monitor_remote_ci.py",
      "new_id": "19a7f119c94a590f8db31ccddf057e6553a3ccc9",
      "new_mode": 33261,
      "new_path": ".agents/skills/monitor-ci-results/scripts/monitor_remote_ci.py"
    }
  ]
}
