)]}'
{
  "commit": "e67ab95ec2f40e88dc08080bc4b12283d7c43f75",
  "tree": "f2d068d1dc41b0e96e969323ae5df9f80cf84d07",
  "parents": [
    "59d43a54c10cbe7eda76e6fffadc26171aa1da5f"
  ],
  "author": {
    "name": "JingsongLi",
    "email": "jingsonglee0@gmail.com",
    "time": "Sun Jun 07 23:09:11 2026 +0800"
  },
  "committer": {
    "name": "JingsongLi",
    "email": "jingsonglee0@gmail.com",
    "time": "Sun Jun 07 23:09:11 2026 +0800"
  },
  "message": "Invalidate precomputed_table after add and handle k\u003d0 in TopKHeap\n\n- Clear precomputed_table in add_batch() alongside fastscan_codes,\n  preventing stale table from being used after new vectors are added.\n  Matches the invalidation already done by merge_from().\n\n- Guard TopKHeap::push against k\u003d0 to avoid panic on empty heap access.\n\n- Add test_precomputed_table_invalidated_after_add regression test:\n  build_precomputed_table → add → assert cleared → rebuild → search\n  finds vectors from both batches.\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ce0363a3a63e92bf6c3531099242a8d7bd1a5279",
      "old_mode": 33188,
      "old_path": "core/src/ivfpq.rs",
      "new_id": "00826b9e8af925d9ae067280e4edbc3b3f947ea8",
      "new_mode": 33188,
      "new_path": "core/src/ivfpq.rs"
    }
  ]
}
