)]}'
{
  "commit": "4590782728cf74573e1d5ddac1efa1da2ea84680",
  "tree": "6c1c4a7622a8e095e9bc69b3c45267ac92f071e3",
  "parents": [
    "6563d977ae13f200b6639492dd794b666f829aff"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Sun Oct 11 21:00:22 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Oct 11 21:00:22 2026 -0700"
  },
  "message": "agents: add rules_python usage auditor and open-question label rule (#4249)\n\nEnsure Bzlmod `pip.dep()` invariants and open questions in pull\nrequests are systematically checked during agent workflows.\n\nAdd a `.agents/rules/rules_python.md` rule and a corresponding\n`rules_python` Usage Auditor subagent to `review-code` to verify that\n`@pypi` targets referenced under `python/**` have `pip.dep()`\ndeclarations in `MODULE.bazel`. Update `pr.md`, `create-pr`, and\n`review-code` to require the `do-not-merge` label when PR\ndescriptions contain open questions and to audit open questions or\nfollow-up items during code review.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "577059717911d6dce198bae87916f25211096681",
      "old_mode": 33188,
      "old_path": ".agents/rules/pr.md",
      "new_id": "cc85c66207d32769dfb715b9197563af4d22f6fa",
      "new_mode": 33188,
      "new_path": ".agents/rules/pr.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2bf4c2b206832491b648fba5262a526dfd602649",
      "new_mode": 33188,
      "new_path": ".agents/rules/rules_python.md"
    },
    {
      "type": "modify",
      "old_id": "b4bcec70eb833e1c02d3caad2fdf2a45676fd816",
      "old_mode": 33188,
      "old_path": ".agents/skills/create-pr/SKILL.md",
      "new_id": "273ace1d58af1fe145e50c2bd5ce904e28b3fdff",
      "new_mode": 33188,
      "new_path": ".agents/skills/create-pr/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "7589752491c3f0dbf4ef7f609ca0123751e8e2f0",
      "old_mode": 33188,
      "old_path": ".agents/skills/review-code/SKILL.md",
      "new_id": "c995eaa0f1ec5e594a2bc2395e21075d9a592e6a",
      "new_mode": 33188,
      "new_path": ".agents/skills/review-code/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "d415f0e650c5191b26a3d445e8074970193c2177",
      "old_mode": 33188,
      "old_path": ".agents/skills/review-code/review-pr-standards-prompt.md",
      "new_id": "c389e3036a35adf319290a36a4f666b30998a0fd",
      "new_mode": 33188,
      "new_path": ".agents/skills/review-code/review-pr-standards-prompt.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60c7f2ce2792d551468ac02bdc18c6fda893071b",
      "new_mode": 33188,
      "new_path": ".agents/skills/review-code/review-rules-python-prompt.md"
    }
  ]
}
