)]}'
{
  "commit": "ced38c374ef96aa30ced9846ca09b5ed783cc1f2",
  "tree": "4a54ead66a5085bf8ada30e44a9a001e37848c7c",
  "parents": [
    "cf6ec45b40059eecb6e40f936999e4d230987c1e"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Fri Sep 04 11:12:54 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Sep 04 11:12:54 2026 +0000"
  },
  "message": "build(dev): move internal dev tools from //tools/private to //dev (#4149)\n\nConsolidate most developer tools under //dev. //tools/private is\nreserved for internal release management tooling.\n\nMove sync_downloader_configs.py, update_deps, gazelle, and debug to\n//dev. Update import paths, target visibility, generation markers,\npre-commit hooks, and developer documentation.\n\nWork towards #4128",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f4107880b2c4738ad4333d2239d43337a89515e0",
      "old_mode": 33188,
      "old_path": ".pre-commit-config.yaml",
      "new_id": "c4165a5ea8a3320c1c5283735b5ae165a5e02229",
      "new_mode": 33188,
      "new_path": ".pre-commit-config.yaml"
    },
    {
      "type": "rename",
      "old_id": "1694dc975c696f2b007d985ae4eb9174769f2bb2",
      "old_mode": 33261,
      "old_path": "tools/private/debug/print_defined_toolchains.sh",
      "new_id": "1694dc975c696f2b007d985ae4eb9174769f2bb2",
      "new_mode": 33261,
      "new_path": "dev/debug/print_defined_toolchains.sh",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2a38e8f3a112bb2c3f6bc9f865437d5c6fcd4f96",
      "old_mode": 33188,
      "old_path": "tools/private/gazelle/BUILD.bazel",
      "new_id": "2a38e8f3a112bb2c3f6bc9f865437d5c6fcd4f96",
      "new_mode": 33188,
      "new_path": "dev/gazelle/BUILD.bazel",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7e8527b989b05dd2be5117b34168158442a944e1",
      "old_mode": 33261,
      "old_path": "tools/private/sync_downloader_configs.py",
      "new_id": "e9551f0d8b16661f7cf1ede629baa4e24d32bb25",
      "new_mode": 33261,
      "new_path": "dev/sync_downloader_configs.py",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "5ebb8550c1af9ece528e8c4f927f68739d9171f4",
      "old_mode": 33188,
      "old_path": "tools/private/update_deps/BUILD.bazel",
      "new_id": "7c0fcb6abe337e5b8a20a8462a32c1c776d28f4c",
      "new_mode": 33188,
      "new_path": "dev/update_deps/BUILD.bazel",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "610b1abc728f819b048ac6e99e10ec34132d51e7",
      "old_mode": 33188,
      "old_path": "tools/private/update_deps/args.py",
      "new_id": "5525c1653df1c9446af1d074a41eeabb18db6272",
      "new_mode": 33188,
      "new_path": "dev/update_deps/args.py",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "74ac657bad4757feb2ccda6b76e7bc4aef744552",
      "old_mode": 33261,
      "old_path": "tools/private/update_deps/update_coverage_deps.py",
      "new_id": "fde2f0b54c2012f6cdeb4f9bb78cc52e5e0c3173",
      "new_mode": 33261,
      "new_path": "dev/update_deps/update_coverage_deps.py",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "cbf4c32bd17f29237cb676253821c1ec4ed94002",
      "old_mode": 33188,
      "old_path": "tools/private/update_deps/update_file.py",
      "new_id": "d1b25b24f9065579d009575121a46790ee22e2f1",
      "new_mode": 33188,
      "new_path": "dev/update_deps/update_file.py",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "b1d6545ead30603bf97ac16cb6461b8c1ac1d3c8",
      "old_mode": 33188,
      "old_path": "tools/private/update_deps/update_file_test.py",
      "new_id": "6f63350640e9e8a1ca14b023591a5f174fbd879f",
      "new_mode": 33188,
      "new_path": "dev/update_deps/update_file_test.py",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "9951a7abbbdbea16f79d44385003d3a9e3c2db2a",
      "old_mode": 33261,
      "old_path": "tools/private/update_deps/update_pip_deps.py",
      "new_id": "020064aadfae6f48102ce3084acf59e3b7d67250",
      "new_mode": 33261,
      "new_path": "dev/update_deps/update_pip_deps.py",
      "score": 92
    },
    {
      "type": "modify",
      "old_id": "80ce6d61f259db45723a95cc19cba9a0bd4720a5",
      "old_mode": 33188,
      "old_path": "docs/devguide.md",
      "new_id": "96cf5cda9b8559c0a6fc2a434f2af53e6c811a41",
      "new_mode": 33188,
      "new_path": "docs/devguide.md"
    },
    {
      "type": "modify",
      "old_id": "72bf7138f8e4c521da18dd6f58c2d285c142452a",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "9e4313d1f823afa61ddef804fc2b3aa0fa827074",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "001146c3d46495f44beb580a499b420463e33924",
      "old_mode": 33188,
      "old_path": "python/private/coverage_deps.bzl",
      "new_id": "8ee593530735e4c243947b18dfe583b3c4058ee7",
      "new_mode": 33188,
      "new_path": "python/private/coverage_deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "35286c5debe08f794f143394293ad3ea5aed6787",
      "old_mode": 33188,
      "old_path": "python/private/pypi/BUILD.bazel",
      "new_id": "eb87c6371719936d6b7aff845d4b4bf2ab97785e",
      "new_mode": 33188,
      "new_path": "python/private/pypi/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "5d0507cb987c8ea94616b56b65639d32f203b71a",
      "old_mode": 33188,
      "old_path": "python/private/pypi/deps.bzl",
      "new_id": "264446bece31062a05133c9a9ed20414f4abd71f",
      "new_mode": 33188,
      "new_path": "python/private/pypi/deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "cb73482ad84b76d052898120e7d2702ae3c2e46e",
      "old_mode": 33188,
      "old_path": "python/uv/private/BUILD.bazel",
      "new_id": "e1d520408eeb36757051f47e75d021f11a71551e",
      "new_mode": 33188,
      "new_path": "python/uv/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b395b2c54161251e0a6ed3fa4b2ed8face48a557",
      "old_mode": 33188,
      "old_path": "tools/private/BUILD.bazel",
      "new_id": "b66eac3490a440287f8f014bfae5ff51bb409367",
      "new_mode": 33188,
      "new_path": "tools/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a9b0dbc562339f0d27471ad5bbb184fc852a2e5c",
      "old_mode": 33188,
      "old_path": "tools/private/publish_deps.bzl",
      "new_id": "cd7273376916f671809fbbcdd9eeaeb687377c47",
      "new_mode": 33188,
      "new_path": "tools/private/publish_deps.bzl"
    }
  ]
}
