)]}'
{
  "commit": "c109e100193bc6ddf8097ea6e587733d8a33e575",
  "tree": "4297f0ef17526bfcf8f33bdae246e732b2945ed4",
  "parents": [
    "1a87aa3c519839aa3f8713631af6d7ec4bf1d34c"
  ],
  "author": {
    "name": "Jared Yu (余启正)",
    "email": "qzyu999@gmail.com",
    "time": "Wed Jul 08 09:05:27 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 08 09:05:27 2026 -0700"
  },
  "message": "Build: Add .venv/ to .gitignore (#3626)\n\n\u003c!--\nThanks for opening a pull request!\n--\u003e\n\n\u003c!-- Closes #${GITHUB_ISSUE_ID} --\u003e\n\n# Rationale for this change\n\n`.venv/` is the default directory name created by `python -m venv .venv`\nand is the convention recommended by the Python docs and modern tooling\nlike `uv`. Currently `.gitignore` only ignores `venv/` but not `.venv/`,\nso contributors using the dotted convention could accidentally stage\ntheir virtualenv.\n\n## Are these changes tested?\n\nN/A — this is a `.gitignore`-only change.\n\n## Are there any user-facing changes?\n\nNo.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "792ec66e6f326deb075e13521bf3267df16b5810",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "49476b3f37842dacfa0a622fd1aee24054c7eb46",
      "new_mode": 33188,
      "new_path": ".gitignore"
    }
  ]
}
