)]}'
{
  "commit": "08e7ab964e55c1dd7915a75e7f85bd584e6c4b4f",
  "tree": "ca009f3f197d91cad302b0c1e6f1627b89023826",
  "parents": [
    "04546807bf9bd1fefa17a653c971f294b7ff328d"
  ],
  "author": {
    "name": "Dirk Pranke",
    "email": "dpranke@gmail.com",
    "time": "Sat Jan 10 17:57:35 2026 -0800"
  },
  "committer": {
    "name": "Dirk Pranke",
    "email": "dpranke@gmail.com",
    "time": "Sat Jan 10 17:57:35 2026 -0800"
  },
  "message": "Add pyproject.toml auto-formatting.\n\nThis change primarily adds a dev dependency on the pyproject-fmt\npackage to auto-format the pyproject.toml file, and adds the logic\nto do so to `./run format`. The implementation is kinda convoluted\nbecause the package has an inconvenient interface and returns a 1\nwhen it successfully formats a file that needed changes, rather\nthan returning 0.\n\nThis change also reformats json5/tool.py and updates the uv.lock\nfile to pick up newer packages. I\u0027m of mixed feelings about uv.lock\nupdating existing packages whenever a new dependency is added (rather\nthan only updating expackages when explicitly asked to do so), so\nI can see changing the logic for how we\u0027re managing packages in the\nfuture either back to explicitly pinning versions by default, or\nto do something else.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c2829647d683179f70ffb89669bdd657b041c7be",
      "old_mode": 33188,
      "old_path": "json5/tool.py",
      "new_id": "a778593340f26c10c75c9e80877d3c41d4a5d8b2",
      "new_mode": 33188,
      "new_path": "json5/tool.py"
    },
    {
      "type": "modify",
      "old_id": "4e0ec07c0bcfef53fcdc49e8f4e64c04b2fa957b",
      "old_mode": 33188,
      "old_path": "pyproject.toml",
      "new_id": "9dc201f57cefbbc306b606f946ae1a2f007a2291",
      "new_mode": 33188,
      "new_path": "pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "ca57b1add99998cbccb9282a0651f6e9f2db6efb",
      "old_mode": 33261,
      "old_path": "run",
      "new_id": "2714aff7f366b3092992c2e3015441389dc1143d",
      "new_mode": 33261,
      "new_path": "run"
    },
    {
      "type": "modify",
      "old_id": "54fd28452ac4bcc236cede643395590b23d22ae1",
      "old_mode": 33188,
      "old_path": "uv.lock",
      "new_id": "e67232ed3a37178f02f0def44dd36312347ef9e5",
      "new_mode": 33188,
      "new_path": "uv.lock"
    }
  ]
}
