)]}'
{
  "commit": "2e65252f95661e6a542b39fbf00ae3ead0be7fdb",
  "tree": "a45115642d58e9d78b836359b5e28396c4530e25",
  "parents": [
    "f25f24a01fa83e8a83d72e4959de7e5a0d3ba8bd"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Tue Aug 18 15:05:50 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Aug 18 15:05:50 2026 -0700"
  },
  "message": "agents: document rf.root() path navigation and Runfiles.CreateOrRaise() in python rules (#4078)\n\nWhen interacting with Bazel runfiles in Python tests and runtime\nhelpers, using structured path navigation and globbing provides a\ncleaner, less error-prone interface than manual path manipulation or\nmulti-root fallback loops.\n\nUpdate .agents/rules/python.md to document the preference for `rf.root()\n/ \"\u003crepo\u003e/\u003cpath\u003e\"` over `Rlocation()` and using `.glob()` on\n`runfiles.Path`. Refine fail-fast creation guidance to prefer\n`runfiles.CreateOrRaise()` over `runfiles.Create()` with assertions.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8091efcd00fab481c95cabd42a4a4c38181d32e2",
      "old_mode": 33188,
      "old_path": ".agents/rules/python.md",
      "new_id": "0c4fd69da845346314e78ac9d1c43dfb918c0fca",
      "new_mode": 33188,
      "new_path": ".agents/rules/python.md"
    }
  ]
}
