)]}'
{
  "commit": "affd62d591e065b93c7b768bf6a8e1361dd86b9a",
  "tree": "94c82466f5f739497e554a2ff38d25aa1416abc7",
  "parents": [
    "47228b94fdc9a2c008ec83987f78221053ee258c"
  ],
  "author": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Thu Nov 20 04:09:03 2025 +0100"
  },
  "committer": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Thu Nov 20 04:09:03 2025 +0100"
  },
  "message": "test: split grind_lint.lean into 7 smaller files for faster CI\n\nSplit the single grind_lint.lean test (50+ seconds) into 7 separate files\nthat each run in under 7 seconds:\n\n- grind_lint_list.lean (5.7s): List namespace with exceptions\n- grind_lint_array.lean (4.6s): Array namespace\n- grind_lint_bitvec.lean (3.9s): BitVec namespace with exceptions\n- grind_lint_std_hashmap.lean (6.8s): Std hash map/set namespaces\n- grind_lint_std_treemap.lean (~6s): Std tree map/set namespaces\n- grind_lint_std_misc.lean (~5s): Std.Do, Std.Range, Std.Tactic\n- grind_lint_misc.lean (5.5s): All other non-Lean namespaces\n\nTotal time: ~38 seconds (vs 50+ for original)\n\nEach file maintains complete namespace coverage and preserves all existing\nexceptions. The split enables better CI parallelization and faster feedback.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c62a6a7e4c4a7315bc6443e6d5c776df6d5b7a16",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_array.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "09f7bba9d7c95c7dcefab335d7098a4ee34a77d8",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_bitvec.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "453929ded5e502c1e8a9ffca622610bc92a16a48",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_list.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a48d4dbde4b882c779a759a7e81fafcedb7cba9c",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_misc.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e822103088ce973d46e94ec490832e151ebbd0fe",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_std_hashmap.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5b998f6b37b9c039ce4c448b076f51d89ea9f3f5",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_std_misc.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "285d212eb95aef133e4f35550e36ab11083a6335",
      "new_mode": 33188,
      "new_path": "tests/lean/run/grind_lint_std_treemap.lean"
    }
  ]
}
