)]}'
{
  "commit": "ea675157789465324bafd32a85c8286bfd59a07b",
  "tree": "793cd3d36d3e9846480dad4f84cb8ad0acc7cddd",
  "parents": [
    "f557bf60242b6f989534d9ea896eb8c55787ab56"
  ],
  "author": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Tue Jun 17 15:31:35 2025 +1000"
  },
  "committer": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Tue Jun 17 15:31:35 2025 +1000"
  },
  "message": "feat: define the CommRing envelope of a CommSemiring\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c50b9e1ccc6b63d9748de0c4b0fdd5e83276c472",
      "old_mode": 33188,
      "old_path": "src/Init/Grind/Module/Basic.lean",
      "new_id": "77fdaa1a43e9da67426a891d2fdb059be927b88d",
      "new_mode": 33188,
      "new_path": "src/Init/Grind/Module/Basic.lean"
    },
    {
      "type": "modify",
      "old_id": "eaa3eb2233a1b07ecb423519d325e920ba5ba2fe",
      "old_mode": 33188,
      "old_path": "src/Init/Grind/Ring.lean",
      "new_id": "eb28925eb8c1f840adcbd09076ec2d76d3fd9dfc",
      "new_mode": 33188,
      "new_path": "src/Init/Grind/Ring.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc6ef99b4f2a17196ea8adea70dd06fe698835e1",
      "new_mode": 33188,
      "new_path": "src/Init/Grind/Ring/Envelope.lean"
    },
    {
      "type": "modify",
      "old_id": "f6a988b0ebe493a135cec063948e52db18f308e8",
      "old_mode": 33188,
      "old_path": "src/Init/GrindInstances.lean",
      "new_id": "d48f26f51256b64f74cb52b705f071e4e97d1064",
      "new_mode": 33188,
      "new_path": "src/Init/GrindInstances.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "356ca5f2b36bdc001c2da3df54893e4c834dcffd",
      "new_mode": 33188,
      "new_path": "src/Init/GrindInstances/Nat.lean"
    }
  ]
}
