sqlitegraph 0.4.2__tar.gz → 0.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/Cargo.lock +39 -39
  2. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/PKG-INFO +1 -1
  3. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/pyproject.toml +1 -1
  4. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/CACHE_CAPACITY_SWEEP_REPORT.md +2 -2
  5. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/CHANGELOG.md +26 -8
  6. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/Cargo.toml +1 -1
  7. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/MAIN_BENCHMARK_RERUN_REPORT.md +1 -1
  8. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/README.md +38 -9
  9. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/REOPEN_CORRUPTION_FORENSICS.md +1 -1
  10. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/V3_REGRESSION_SWEEP_REPORT.md +3 -3
  11. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/adjlist_benchmark.rs +27 -1
  12. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/comprehensive_performance.rs +0 -1
  13. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/mvcc_benchmarks.rs +2 -2
  14. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/read_path_benchmarks.rs +4 -4
  15. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_non_chain_patterns.rs +2 -2
  16. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_pubsub_memory.rs +0 -2
  17. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_pubsub_non_chain.rs +2 -2
  18. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/sqlite_v3_comparison.rs +6 -3
  19. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/HNSW_DEVELOPMENT_RULES.md +3 -3
  20. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/HNSW_VECTOR_INTEGRATION_FUTURE_ROADMAP.md +14 -14
  21. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/SEQUENTIAL_IO_PERFORMANCE.md +2 -2
  22. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/WAL_MODE_IMPLEMENTATION_GUIDE.md +10 -10
  23. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase10_performance_tuning.md +1 -1
  24. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase12_optimization_plan.md +8 -8
  25. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase6_implementation_status.md +1 -1
  26. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase7_native_backend_refactor.md +3 -3
  27. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/algo_benchmark.rs +7 -6
  28. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/block_locality_benchmark.rs +4 -6
  29. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/cache_capacity_benchmark.rs +1 -1
  30. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/cache_clone_forensics.rs +1 -1
  31. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/cache_perf_test.rs +4 -4
  32. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/cold_path_decomposition.rs +1 -0
  33. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/compression_analysis.rs +1 -1
  34. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/compression_detailed.rs +1 -1
  35. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/debug_buffer_error.rs +1 -1
  36. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/get_node_cache_sweep.rs +1 -9
  37. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/reopen_corruption_repro.rs +1 -1
  38. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_100k.rs +1 -1
  39. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_delta_encoding.rs +1 -1
  40. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_direct_edgestore.rs +1 -1
  41. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_edge_store_direct.rs +2 -2
  42. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_lock_overhead.rs +1 -1
  43. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_neighbors_detailed.rs +1 -3
  44. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_performance_comparison.rs +10 -10
  45. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_rwlock_overhead.rs +1 -1
  46. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_sqlite_neighbors_perf.rs +1 -1
  47. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_v3_neighbors_perf.rs +1 -1
  48. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/backend/centrality.rs +4 -4
  49. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/backend/graph_ops.rs +3 -3
  50. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/backend/traversal.rs +5 -5
  51. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/centrality.rs +20 -6
  52. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/critical_path.rs +6 -2
  53. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/cut_partition.rs +2 -2
  54. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/cycle_basis.rs +9 -17
  55. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/dominance_frontiers.rs +0 -36
  56. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/graph_diff.rs +0 -24
  57. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/graph_similarity.rs +0 -14
  58. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/observability.rs +2 -6
  59. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/scc.rs +19 -3
  60. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/tests.rs +0 -3
  61. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/topological_sort.rs +3 -1
  62. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/transitive_closure.rs +2 -4
  63. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/transitive_reduction.rs +1 -4
  64. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/backend.rs +15 -12
  65. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/constants.rs +4 -15
  66. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/edge_compat.rs +11 -11
  67. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/forensics.rs +4 -1
  68. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/index_persistence.rs +40 -8
  69. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/kv_store/store.rs +2 -2
  70. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/page.rs +2 -2
  71. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/store.rs +0 -4
  72. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/pubsub/publisher.rs +21 -5
  73. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/storage/adaptive_page.rs +3 -1
  74. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/tests/mod.rs +2 -6
  75. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/impl_.rs +5 -2
  76. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/core.rs +65 -35
  77. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/index.rs +189 -1
  78. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/index_api.rs +31 -5
  79. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/index_internal.rs +6 -13
  80. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/index_persist.rs +139 -0
  81. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/layer.rs +37 -18
  82. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/multilayer.rs +1 -2
  83. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/neighborhood.rs +27 -15
  84. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/storage.rs +31 -10
  85. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/lib.rs +2 -0
  86. sqlitegraph-0.5.1/sqlitegraph-core/src/pattern_engine_cache/tests.rs +130 -0
  87. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/schema.rs +7 -0
  88. sqlitegraph-0.5.1/sqlitegraph-core/src/typed_digraph/algo.rs +237 -0
  89. sqlitegraph-0.5.1/sqlitegraph-core/src/typed_digraph/graph.rs +322 -0
  90. sqlitegraph-0.5.1/sqlitegraph-core/src/typed_digraph/mod.rs +8 -0
  91. sqlitegraph-0.5.1/sqlitegraph-core/src/typed_digraph/tests.rs +330 -0
  92. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/cold_path_forensics.rs +4 -0
  93. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/get_node_forensics.rs +2 -0
  94. sqlitegraph-0.5.1/sqlitegraph-core/tests/hnsw_persistence_tests.rs +682 -0
  95. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/kv_durability_tests.rs +0 -8
  96. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/mvcc_concurrent_tests.rs +0 -11
  97. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/mvcc_edge_case_tests.rs +4 -17
  98. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/node_slot_transaction_persistence.rs +1 -1
  99. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/perf_gate_v32_tests.rs +0 -4
  100. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/phase44_2_cluster_size_contract_tests.rs +2 -2
  101. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/regression_concurrent_traversal.rs +0 -20
  102. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_dump_page_headers.rs +2 -2
  103. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_file_write_test.rs +1 -0
  104. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_insert_read_forensics.rs +2 -0
  105. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_regression_sweep.rs +10 -25
  106. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_verify_file_persistence.rs +2 -2
  107. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/Cargo.toml +2 -2
  108. sqlitegraph-0.4.2/sqlitegraph-core/src/pattern_engine_cache/tests.rs +0 -133
  109. sqlitegraph-0.4.2/sqlitegraph-core/tests/hnsw_persistence_tests.rs +0 -334
  110. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/Cargo.toml +0 -0
  111. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/README.md +0 -0
  112. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/python/sqlitegraph/__init__.py +0 -0
  113. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/python/sqlitegraph/_native.pyi +0 -0
  114. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/python/sqlitegraph/py.typed +0 -0
  115. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/.gitignore +0 -0
  116. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/BLOCK_AWARE_CACHE_BEHAVIOR_REPORT.md +0 -0
  117. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/BLOCK_LOCALITY_PROTOTYPE_REPORT.md +0 -0
  118. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/BUG_10K_INVESTIGATION_SUMMARY.md +0 -0
  119. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/BUG_SNAPSHOTID_SQLITE_BACKEND.md +0 -0
  120. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/CACHE_CLONE_FIX_REPORT.md +0 -0
  121. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/COLD_PATH_FORENSICS_REPORT.md +0 -0
  122. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/COLD_WARM_BENCHMARK_SPLIT_REPORT.md +0 -0
  123. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/EDGE_CORRUPTION_ROOT_CAUSE.md +0 -0
  124. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/LICENSE +0 -0
  125. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/NODE_PAGE_OVERFLOW_FIX_REPORT.md +0 -0
  126. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/PAGE_ID_COLLISION_ROOT_CAUSE.md +0 -0
  127. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/PHASE3_NODE_PAGE_CACHE_FIX_REPORT.md +0 -0
  128. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/PHYSICAL_BLOCK_PLACEMENT_PROTOTYPE_REPORT.md +0 -0
  129. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/REBUILD_INDEXES_FIX_REPORT.md +0 -0
  130. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/V3_10K_NODE_BUG_FIX.md +0 -0
  131. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/V3_FILE_IO_COORDINATION.md +0 -0
  132. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/V3_FORENSIC_REPORT.md +0 -0
  133. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/adaptive_page_simple.rs +0 -0
  134. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/algo_benchmarks.rs +0 -0
  135. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/backend_comparison.rs +0 -0
  136. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/bench_utils.rs +0 -0
  137. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/bfs.rs +0 -0
  138. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/cold_cache.rs +0 -0
  139. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/comparative_benchmark.rs +0 -0
  140. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/compression_benchmark.rs +0 -0
  141. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/concurrent_access.rs +0 -0
  142. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/connection_pool.rs +0 -0
  143. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/graph_generators.rs +0 -0
  144. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/graph_theory_benchmarks.rs +0 -0
  145. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/hnsw.rs +0 -0
  146. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/hnsw_multilayer.rs +0 -0
  147. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/insert.rs +0 -0
  148. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/k_hop.rs +0 -0
  149. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/memory_profiling.rs +0 -0
  150. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/native_disk_io.rs +0 -0
  151. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/parallel_bfs.rs +0 -0
  152. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/real_datasets.rs +0 -0
  153. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_memory.rs +0 -0
  154. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_pubsub_write_cost.rs +0 -0
  155. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/regression_write_cost.rs +0 -0
  156. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/v3_algorithm_benchmarks.rs +0 -0
  157. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/v3_backend_benchmarks.rs +0 -0
  158. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/benches/wal_recovery_benchmarks.rs +0 -0
  159. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/clippy.toml +0 -0
  160. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/core.d +0 -0
  161. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/debug_test.rs +0 -0
  162. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase-40-benchmark-report.md +0 -0
  163. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase11_native_perf_plan.md +0 -0
  164. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase14_step9_khop_corruption_codebase_mapping.md +0 -0
  165. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase29_step7_mmap_preaudit_notes.md +0 -0
  166. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase5_real_adjacency.md +0 -0
  167. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/phase6_native_graphbackend_plan.md +0 -0
  168. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/docs/superpowers/plans/2026-04-23-task-1-analysis.md +0 -0
  169. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/basic_functionality_test.rs +0 -0
  170. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/batch_bench.rs +0 -0
  171. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/batch_stress_test.rs +0 -0
  172. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/bench_parallel_bfs.rs +0 -0
  173. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/compression_diagnostics.rs +0 -0
  174. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/crash_test_child.rs +0 -0
  175. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/hybrid_sqlite_v3_hnsw_pubsub.rs +0 -0
  176. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/phase53_1_execution.rs +0 -0
  177. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/phase55_simple_benchmark.rs +0 -0
  178. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_adaptive_pages.rs +0 -0
  179. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_allocator_startup.rs +0 -0
  180. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_batch_simple.rs +0 -0
  181. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_binary_search.rs +0 -0
  182. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_btree_100k.rs +0 -0
  183. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_cache_warm.rs +0 -0
  184. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_chunked_bfs.rs +0 -0
  185. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_direct_backend_benchmark.rs +0 -0
  186. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_edgestore_perf.rs +0 -0
  187. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_index_restore.rs +0 -0
  188. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_index_staleness.rs +0 -0
  189. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_lazy_decode.rs +0 -0
  190. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_native_edge.rs +0 -0
  191. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_neighbors_cache.rs +0 -0
  192. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_neighbors_profile.rs +0 -0
  193. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_open_detailed_timing.rs +0 -0
  194. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_open_roundtrip.rs +0 -0
  195. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_open_stage_timing.rs +0 -0
  196. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/test_vec_clone.rs +0 -0
  197. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_forensic_page_analysis.rs +0 -0
  198. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_forensics_example.rs +0 -0
  199. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_get_node_profile.rs +0 -0
  200. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_offset_forensic.rs +0 -0
  201. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_perf_test.rs +0 -0
  202. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_readonly_profile.rs +0 -0
  203. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/examples/v3_reopen_verify.rs +0 -0
  204. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/libtest_syntax.rlib +0 -0
  205. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/manual.md +0 -0
  206. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/snapshot_export/snapshot_1766284406.v2 +0 -0
  207. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/snapshot_export/snapshot_1766284420.v2 +0 -0
  208. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/sqlitegraph_bench.json +0 -0
  209. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/backend/mod.rs +0 -0
  210. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/call_graph_analysis.rs +0 -0
  211. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/community.rs +0 -0
  212. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/control_dependence.rs +0 -0
  213. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/dominators.rs +0 -0
  214. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/graph_rewriting.rs +0 -0
  215. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/mod.rs +0 -0
  216. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/natural_loops.rs +0 -0
  217. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/path_enumeration.rs +0 -0
  218. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/post_dominators.rs +0 -0
  219. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/program_slicing.rs +0 -0
  220. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/reachability.rs +0 -0
  221. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/structure.rs +0 -0
  222. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/subgraph_isomorphism.rs +0 -0
  223. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/taint_analysis.rs +0 -0
  224. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/algo/wcc.rs +0 -0
  225. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/api_ergonomics.rs +0 -0
  226. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/constants.rs +0 -0
  227. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/cpu_tuning.rs +0 -0
  228. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/mod.rs +0 -0
  229. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/aliases.rs +0 -0
  230. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/cpu_profile.rs +0 -0
  231. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/errors.rs +0 -0
  232. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/flags.rs +0 -0
  233. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/kv_types.rs +0 -0
  234. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/mod.rs +0 -0
  235. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/types/utils.rs +0 -0
  236. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/algorithm/mod.rs +0 -0
  237. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/algorithm/parallel_bfs.rs +0 -0
  238. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/allocator.rs +0 -0
  239. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/btree.rs +0 -0
  240. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/compact_edge_record.rs +0 -0
  241. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/compression/delta.rs +0 -0
  242. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/compression/edge_delta.rs +0 -0
  243. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/compression/mod.rs +0 -0
  244. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/compression/varint.rs +0 -0
  245. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/file_coordinator.rs +0 -0
  246. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/header.rs +0 -0
  247. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/index/mod.rs +0 -0
  248. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/index/page.rs +0 -0
  249. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/kind_index.rs +0 -0
  250. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/kv_store/mod.rs +0 -0
  251. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/kv_store/types.rs +0 -0
  252. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/lazy_init_tests.rs +0 -0
  253. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/mod.rs +0 -0
  254. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/name_index.rs +0 -0
  255. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/block_cache.rs +0 -0
  256. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/cache.rs +0 -0
  257. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/mod.rs +0 -0
  258. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/record.rs +0 -0
  259. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/node/tests.rs +0 -0
  260. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/pubsub/mod.rs +0 -0
  261. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/pubsub/types.rs +0 -0
  262. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/storage/media_detector.rs +0 -0
  263. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/storage/mod.rs +0 -0
  264. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/string_table/mod.rs +0 -0
  265. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/string_table/table.rs +0 -0
  266. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/string_table/tests.rs +0 -0
  267. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/wal.rs +0 -0
  268. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/native/v3/write_batch.rs +0 -0
  269. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/helpers.rs +0 -0
  270. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/kv_tests.rs +0 -0
  271. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/mod.rs +0 -0
  272. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/pubsub_tests.rs +0 -0
  273. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend/sqlite/types.rs +0 -0
  274. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend.rs +0 -0
  275. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/backend_selector.rs +0 -0
  276. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/bench_gates.rs +0 -0
  277. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/bench_meta.rs +0 -0
  278. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/bench_regression.rs +0 -0
  279. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/bench_utils.rs +0 -0
  280. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/bfs.rs +0 -0
  281. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/cache.rs +0 -0
  282. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/client.rs +0 -0
  283. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/factory.rs +0 -0
  284. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/graph_config.rs +0 -0
  285. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/kinds.rs +0 -0
  286. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/mod.rs +0 -0
  287. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/native.rs +0 -0
  288. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/config/sqlite.rs +0 -0
  289. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/cypher.rs +0 -0
  290. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/dependency_monitor.rs +0 -0
  291. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/dsl.rs +0 -0
  292. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/errors.rs +0 -0
  293. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/fault_injection.rs +0 -0
  294. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/adjacency.rs +0 -0
  295. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/edge_ops.rs +0 -0
  296. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/entity_ops.rs +0 -0
  297. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/instrumented.rs +0 -0
  298. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/metrics_core.rs +0 -0
  299. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/metrics_snapshot.rs +0 -0
  300. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/mod.rs +0 -0
  301. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/statement_tracker.rs +0 -0
  302. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics/utils.rs +0 -0
  303. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/metrics_schema.rs +0 -0
  304. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/mod.rs +0 -0
  305. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/pattern_matching.rs +0 -0
  306. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/pool.rs +0 -0
  307. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/snapshot.rs +0 -0
  308. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph/types.rs +0 -0
  309. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/graph_opt.rs +0 -0
  310. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/batch_filter.rs +0 -0
  311. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/builder.rs +0 -0
  312. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/config.rs +0 -0
  313. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/distance_functions.rs +0 -0
  314. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/distance_metric.rs +0 -0
  315. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/errors.rs +0 -0
  316. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/mod.rs +0 -0
  317. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/serialization.rs +0 -0
  318. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/simd.rs +0 -0
  319. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/v3_storage.rs +0 -0
  320. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/hnsw/v3_storage_tests.rs +0 -0
  321. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/index.rs +0 -0
  322. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/inference/engine.rs +0 -0
  323. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/inference/mod.rs +0 -0
  324. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/inference/sampling.rs +0 -0
  325. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/inference/simd.rs +0 -0
  326. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/introspection.rs +0 -0
  327. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/multi_hop.rs +0 -0
  328. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/mvcc.rs +0 -0
  329. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern.rs +0 -0
  330. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/matcher.rs +0 -0
  331. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/mod.rs +0 -0
  332. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/pattern.rs +0 -0
  333. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/property.rs +0 -0
  334. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/query.rs +0 -0
  335. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine/tests.rs +0 -0
  336. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine_cache/edge_validation.rs +0 -0
  337. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine_cache/fast_path_detection.rs +0 -0
  338. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine_cache/fast_path_execution.rs +0 -0
  339. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/pattern_engine_cache/mod.rs +0 -0
  340. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/progress.rs +0 -0
  341. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/query.rs +0 -0
  342. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/query_cache.rs +0 -0
  343. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/reasoning.rs +0 -0
  344. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/recovery.rs +0 -0
  345. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/src/snapshot.rs +0 -0
  346. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/acid_regression_test.rs +0 -0
  347. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/acid_snapshot_test.rs +0 -0
  348. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/algo_tests.rs +0 -0
  349. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/backend_selector_tests.rs +0 -0
  350. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bench_data_tests.rs +0 -0
  351. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bench_gate_tests.rs +0 -0
  352. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bench_gates_tests.rs +0 -0
  353. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bench_meta_tests.rs +0 -0
  354. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bench_report_tests.rs +0 -0
  355. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/benchmark_isolation_test.rs +0 -0
  356. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bfs_tests.rs +0 -0
  357. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bincode_compatibility_test.rs +0 -0
  358. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/bulk_insert_tests.rs +0 -0
  359. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/cache_effectiveness_tests.rs +0 -0
  360. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/cache_tests.rs +0 -0
  361. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/check_write_path.rs +0 -0
  362. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/cluster_offset_corruption_regression.rs +0 -0
  363. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/cypher_tests.rs +0 -0
  364. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/debug_file_size.rs +0 -0
  365. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/debug_index_rebuilding.rs +0 -0
  366. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/debug_overflow.rs +0 -0
  367. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/debug_scenario_c.rs +0 -0
  368. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/deterministic_index_tests.rs +0 -0
  369. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/direct_file_read_corruption_test.rs +0 -0
  370. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/doc_tests.rs +0 -0
  371. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/edge_corruption_minimal.rs +0 -0
  372. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/edge_corruption_repro.rs +0 -0
  373. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/edge_insertion_corruption_test.rs +0 -0
  374. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/edge_tests.rs +0 -0
  375. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/entity_tests.rs +0 -0
  376. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/file_extension_debug.rs +0 -0
  377. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/fuzz_common.rs +0 -0
  378. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/graph_node_existence_enforcement.rs +0 -0
  379. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/graph_opt_tests.rs +0 -0
  380. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/helpers/mod.rs +0 -0
  381. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/index_persistence_integration.rs +0 -0
  382. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/index_persistence_validation.rs +0 -0
  383. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/index_tests.rs +0 -0
  384. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/instrumentation_tests.rs +0 -0
  385. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/integration_tests.rs +0 -0
  386. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/isolate_open_bug.rs +0 -0
  387. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/lib_api_smoke_tests.rs +0 -0
  388. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/multi_hop_tests.rs +0 -0
  389. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/multi_node_corruption_regression.rs +0 -0
  390. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/mvcc_baseline_tests.rs +0 -0
  391. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/mvcc_snapshot_tests.rs +0 -0
  392. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/mvcc_wal_tests.rs +0 -0
  393. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/native_edge_insertion_regression.rs +0 -0
  394. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/node_overflow_forensics.rs +0 -0
  395. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/node_read_forensics_test.rs +0 -0
  396. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/oom_reproduction_test.rs +0 -0
  397. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/page_42_debug.rs +0 -0
  398. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/page_write_debug.rs +0 -0
  399. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/pattern_cache_fastpath_tests.rs +0 -0
  400. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/pattern_engine_tests.rs +0 -0
  401. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/pattern_tests.rs +0 -0
  402. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/perf_gate_tests.rs +0 -0
  403. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/phase32_cluster_pipeline_reconstruction_tests_clean.rs +0 -0
  404. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/phase64_node_count_durability_regression.rs +0 -0
  405. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/phase65_cluster_size_corruption_regression.rs +0 -0
  406. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/phase73_node_count_corruption_capture.rs +0 -0
  407. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/query_cache_performance_tests.rs +0 -0
  408. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/query_cache_tests.rs +0 -0
  409. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/query_tests.rs +0 -0
  410. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/recovery_tests.rs +0 -0
  411. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/reopen_corruption_investigation.rs +0 -0
  412. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/reopen_integration_test.rs +0 -0
  413. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/rowid_tests.rs +0 -0
  414. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/schema_tests.rs +0 -0
  415. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/snapshot_isolation_tests.rs +0 -0
  416. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/sqlite_reopen_tests.rs +0 -0
  417. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/sqlite_snapshot_tests.rs +0 -0
  418. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/test_10k_bug_reproduction.rs +0 -0
  419. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/unsafe_invariants_tests.rs +0 -0
  420. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_algorithm_tests.rs +0 -0
  421. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_block_locality_tests.rs +0 -0
  422. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_btree_forensics.rs +0 -0
  423. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_check_nodepages.rs +0 -0
  424. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_edge_durability_tdd.rs +0 -0
  425. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_focused_perf.rs +0 -0
  426. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_forensics_test.rs +0 -0
  427. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_header_forensics.rs +0 -0
  428. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_integrity_check.rs +0 -0
  429. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_kind_index_tests.rs +0 -0
  430. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_name_index_tests.rs +0 -0
  431. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_page_ownership_forensics.rs +0 -0
  432. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_persistence_100.rs +0 -0
  433. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_query_truth_tests.rs +0 -0
  434. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_reopen_durability.rs +0 -0
  435. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/v3_sync_fix_validation.rs +0 -0
  436. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/wal_mode_default_tests.rs +0 -0
  437. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/wal_tuning_tests.rs +0 -0
  438. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-core/tests/write_buffer_coherence_regression.rs +0 -0
  439. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/.gitignore +0 -0
  440. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/CHANGELOG.md +0 -0
  441. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/README.md +0 -0
  442. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/01_basic_crud.py +0 -0
  443. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/02_graph_algorithms.py +0 -0
  444. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/03_vector_search.py +0 -0
  445. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/04_social_network.py +0 -0
  446. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/05_file_backed.py +0 -0
  447. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/examples/06_hybrid_sqlite_hnsw_query.py +0 -0
  448. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/src/lib.rs +0 -0
  449. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_algo.py +0 -0
  450. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_basic.py +0 -0
  451. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_bulk_insert.py +0 -0
  452. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_crud.py +0 -0
  453. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_errors.py +0 -0
  454. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_filtered_traversal.py +0 -0
  455. {sqlitegraph-0.4.2 → sqlitegraph-0.5.1}/sqlitegraph-py/tests/test_hnsw.py +0 -0
@@ -124,9 +124,9 @@ dependencies = [
124
124
 
125
125
  [[package]]
126
126
  name = "autocfg"
127
- version = "1.5.0"
127
+ version = "1.5.1"
128
128
  source = "registry+https://github.com/rust-lang/crates.io-index"
129
- checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
129
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
130
130
 
131
131
  [[package]]
132
132
  name = "bincode"
@@ -163,9 +163,9 @@ dependencies = [
163
163
 
164
164
  [[package]]
165
165
  name = "bitflags"
166
- version = "2.11.1"
166
+ version = "2.12.1"
167
167
  source = "registry+https://github.com/rust-lang/crates.io-index"
168
- checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
168
+ checksum = "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a"
169
169
 
170
170
  [[package]]
171
171
  name = "block-buffer"
@@ -189,9 +189,9 @@ dependencies = [
189
189
 
190
190
  [[package]]
191
191
  name = "bumpalo"
192
- version = "3.20.2"
192
+ version = "3.20.3"
193
193
  source = "registry+https://github.com/rust-lang/crates.io-index"
194
- checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
194
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
195
195
 
196
196
  [[package]]
197
197
  name = "bytemuck"
@@ -221,9 +221,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
221
221
 
222
222
  [[package]]
223
223
  name = "cc"
224
- version = "1.2.62"
224
+ version = "1.2.63"
225
225
  source = "registry+https://github.com/rust-lang/crates.io-index"
226
- checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98"
226
+ checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f"
227
227
  dependencies = [
228
228
  "find-msvc-tools",
229
229
  "shlex",
@@ -675,9 +675,9 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
675
675
 
676
676
  [[package]]
677
677
  name = "js-sys"
678
- version = "0.3.98"
678
+ version = "0.3.99"
679
679
  source = "registry+https://github.com/rust-lang/crates.io-index"
680
- checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08"
680
+ checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11"
681
681
  dependencies = [
682
682
  "cfg-if",
683
683
  "futures-util",
@@ -725,9 +725,9 @@ dependencies = [
725
725
 
726
726
  [[package]]
727
727
  name = "log"
728
- version = "0.4.29"
728
+ version = "0.4.32"
729
729
  source = "registry+https://github.com/rust-lang/crates.io-index"
730
- checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
730
+ checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a"
731
731
 
732
732
  [[package]]
733
733
  name = "lru"
@@ -750,9 +750,9 @@ dependencies = [
750
750
 
751
751
  [[package]]
752
752
  name = "memchr"
753
- version = "2.8.0"
753
+ version = "2.8.1"
754
754
  source = "registry+https://github.com/rust-lang/crates.io-index"
755
- checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
755
+ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
756
756
 
757
757
  [[package]]
758
758
  name = "memmap2"
@@ -1345,9 +1345,9 @@ dependencies = [
1345
1345
 
1346
1346
  [[package]]
1347
1347
  name = "serde_json"
1348
- version = "1.0.149"
1348
+ version = "1.0.150"
1349
1349
  source = "registry+https://github.com/rust-lang/crates.io-index"
1350
- checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1350
+ checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
1351
1351
  dependencies = [
1352
1352
  "itoa",
1353
1353
  "memchr",
@@ -1369,9 +1369,9 @@ dependencies = [
1369
1369
 
1370
1370
  [[package]]
1371
1371
  name = "shlex"
1372
- version = "1.3.0"
1372
+ version = "2.0.1"
1373
1373
  source = "registry+https://github.com/rust-lang/crates.io-index"
1374
- checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
1374
+ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
1375
1375
 
1376
1376
  [[package]]
1377
1377
  name = "slab"
@@ -1387,7 +1387,7 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
1387
1387
 
1388
1388
  [[package]]
1389
1389
  name = "sqlitegraph"
1390
- version = "3.0.3"
1390
+ version = "3.1.1"
1391
1391
  dependencies = [
1392
1392
  "ahash",
1393
1393
  "arc-swap",
@@ -1419,7 +1419,7 @@ dependencies = [
1419
1419
 
1420
1420
  [[package]]
1421
1421
  name = "sqlitegraph-cli"
1422
- version = "3.0.3"
1422
+ version = "3.1.1"
1423
1423
  dependencies = [
1424
1424
  "anyhow",
1425
1425
  "clap",
@@ -1429,7 +1429,7 @@ dependencies = [
1429
1429
 
1430
1430
  [[package]]
1431
1431
  name = "sqlitegraph-py"
1432
- version = "0.4.2"
1432
+ version = "0.5.1"
1433
1433
  dependencies = [
1434
1434
  "ndarray 0.16.1",
1435
1435
  "numpy",
@@ -1538,9 +1538,9 @@ dependencies = [
1538
1538
 
1539
1539
  [[package]]
1540
1540
  name = "typenum"
1541
- version = "1.20.0"
1541
+ version = "1.20.1"
1542
1542
  source = "registry+https://github.com/rust-lang/crates.io-index"
1543
- checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de"
1543
+ checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
1544
1544
 
1545
1545
  [[package]]
1546
1546
  name = "unicode-ident"
@@ -1562,9 +1562,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
1562
1562
 
1563
1563
  [[package]]
1564
1564
  name = "uuid"
1565
- version = "1.23.1"
1565
+ version = "1.23.2"
1566
1566
  source = "registry+https://github.com/rust-lang/crates.io-index"
1567
- checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76"
1567
+ checksum = "d258b83ceec21034727ecee8c382cfa6c3e133699b0742c64571814fb420c9f7"
1568
1568
  dependencies = [
1569
1569
  "getrandom 0.4.2",
1570
1570
  "js-sys",
@@ -1629,9 +1629,9 @@ dependencies = [
1629
1629
 
1630
1630
  [[package]]
1631
1631
  name = "wasm-bindgen"
1632
- version = "0.2.121"
1632
+ version = "0.2.122"
1633
1633
  source = "registry+https://github.com/rust-lang/crates.io-index"
1634
- checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790"
1634
+ checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409"
1635
1635
  dependencies = [
1636
1636
  "cfg-if",
1637
1637
  "once_cell",
@@ -1642,9 +1642,9 @@ dependencies = [
1642
1642
 
1643
1643
  [[package]]
1644
1644
  name = "wasm-bindgen-macro"
1645
- version = "0.2.121"
1645
+ version = "0.2.122"
1646
1646
  source = "registry+https://github.com/rust-lang/crates.io-index"
1647
- checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578"
1647
+ checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6"
1648
1648
  dependencies = [
1649
1649
  "quote",
1650
1650
  "wasm-bindgen-macro-support",
@@ -1652,9 +1652,9 @@ dependencies = [
1652
1652
 
1653
1653
  [[package]]
1654
1654
  name = "wasm-bindgen-macro-support"
1655
- version = "0.2.121"
1655
+ version = "0.2.122"
1656
1656
  source = "registry+https://github.com/rust-lang/crates.io-index"
1657
- checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2"
1657
+ checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e"
1658
1658
  dependencies = [
1659
1659
  "bumpalo",
1660
1660
  "proc-macro2",
@@ -1665,9 +1665,9 @@ dependencies = [
1665
1665
 
1666
1666
  [[package]]
1667
1667
  name = "wasm-bindgen-shared"
1668
- version = "0.2.121"
1668
+ version = "0.2.122"
1669
1669
  source = "registry+https://github.com/rust-lang/crates.io-index"
1670
- checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441"
1670
+ checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437"
1671
1671
  dependencies = [
1672
1672
  "unicode-ident",
1673
1673
  ]
@@ -1708,9 +1708,9 @@ dependencies = [
1708
1708
 
1709
1709
  [[package]]
1710
1710
  name = "web-sys"
1711
- version = "0.3.98"
1711
+ version = "0.3.99"
1712
1712
  source = "registry+https://github.com/rust-lang/crates.io-index"
1713
- checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa"
1713
+ checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436"
1714
1714
  dependencies = [
1715
1715
  "js-sys",
1716
1716
  "wasm-bindgen",
@@ -1941,18 +1941,18 @@ dependencies = [
1941
1941
 
1942
1942
  [[package]]
1943
1943
  name = "zerocopy"
1944
- version = "0.8.48"
1944
+ version = "0.8.50"
1945
1945
  source = "registry+https://github.com/rust-lang/crates.io-index"
1946
- checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9"
1946
+ checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1"
1947
1947
  dependencies = [
1948
1948
  "zerocopy-derive",
1949
1949
  ]
1950
1950
 
1951
1951
  [[package]]
1952
1952
  name = "zerocopy-derive"
1953
- version = "0.8.48"
1953
+ version = "0.8.50"
1954
1954
  source = "registry+https://github.com/rust-lang/crates.io-index"
1955
- checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
1955
+ checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639"
1956
1956
  dependencies = [
1957
1957
  "proc-macro2",
1958
1958
  "quote",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlitegraph
3
- Version: 0.4.2
3
+ Version: 0.5.1
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
6
6
  Classifier: Programming Language :: Python :: 3
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "sqlitegraph"
7
- version = "0.4.2"
7
+ version = "0.5.1"
8
8
  description = "Embedded graph database with HNSW vector search — Python bindings to the sqlitegraph Rust crate."
9
9
  license = { text = "GPL-3.0-only" }
10
10
  authors = [{ name = "Luiz Spies" }]
@@ -296,9 +296,9 @@ A focused benchmark that:
296
296
  | Implementation | Physical placement | Cache capacity |
297
297
  | Best result | No benefit | 1.38x get_node, -3x insert |
298
298
  | Changed behavior? | Yes | Yes |
299
- | Production ready? | Failed | **Mixed** |
299
+ | Validated? | Failed | **Mixed** |
300
300
 
301
- **Cache sizing is a more promising direction than block-locality, but the insert regression must be understood before any production change.**
301
+ **Cache sizing is a more promising direction than block-locality, but the insert regression must be understood before any default change.**
302
302
 
303
303
  ---
304
304
 
@@ -1,5 +1,23 @@
1
1
  # SQLiteGraph Changelog
2
2
 
3
+ ## [3.0.4] - 2026-05-26
4
+
5
+ ### Fixed
6
+ - Replaced 46 bare `.unwrap()` calls in production code with `.expect("invariant: ...")`
7
+ - `algo/`: 29 sites (centrality, scc, transitive_closure, cycle_basis, critical_path, topological_sort, graph_ops, traversal, backend/centrality)
8
+ - `backend/native/v3/index_persistence.rs`: 8 `.try_into().unwrap()` in deserialization
9
+ - `backend/native/v3/pubsub/publisher.rs`: 5 `.lock().unwrap()` on poisoned-mutex-vulnerable paths
10
+ - `backend/sqlite/impl_.rs`: 2 sites (publisher init, infallible string write)
11
+ - `backend/native/v3/forensics.rs`: 1 `.get_mut().unwrap()`
12
+ - `backend/native/v3/storage/adaptive_page.rs`: 1 `.as_ref().unwrap()`
13
+ - Fixed all pre-existing clippy warnings across workspace (43 fixes)
14
+ - Removed dead code: unused helpers, constants, variants, imports across examples/tests/benches
15
+ - Replaced `Arc` with `Rc` for non-thread-shared snapshot tests
16
+ - Fixed `println!("")` → `println!()`, needless range loops, unnecessary casts, needless borrows
17
+ - Added benchmark cases for `Incoming` and `Undirected` directions
18
+ - Production bare `.unwrap()` count: **0** (all remaining unwraps are in `#[cfg(test)]` code)
19
+ - `cargo clippy --all-targets -- -D warnings` now passes clean
20
+
3
21
  ## [1.5.3] - 2026-02-08
4
22
 
5
23
  ### 🐛 Critical Bug Fixes
@@ -99,14 +117,14 @@ let neighbors = graph.neighbors_clustered(node_id, snapshot_id)?;
99
117
 
100
118
  ### 🚀 Major New Features: V2 Snapshot System & Atomic Operations
101
119
 
102
- **Production-ready V2 Snapshot System with complete lifecycle management**
120
+ **V2 Snapshot System with complete lifecycle management**
103
121
 
104
122
  #### V2 Snapshot System ✅
105
123
  - **Complete Implementation**: Full TDD methodology with 95% test coverage
106
124
  - **Atomic Operations**: Database-grade filesystem operations with fsync discipline
107
125
  - **Lifecycle Management**: Explicit state management with deterministic behavior
108
126
  - **Cross-Platform**: Enhanced filesystem compatibility across platforms
109
- - **Crash Safety**: Guaranteed atomic copy operations with rollback on failure
127
+ - **Crash Safety**: Atomic copy operations with rollback on failure
110
128
 
111
129
  **Location**: `src/backend/native/v2/snapshot/`, `src/graph/snapshot.rs`
112
130
 
@@ -158,13 +176,13 @@ if !source.is_file() {
158
176
  ### ⚡ Performance Improvements
159
177
 
160
178
  #### V2 Cluster Architecture Stable
161
- - **10-20x I/O Improvement**: Clustered adjacency with direct edge scanning
179
+ - **I/O Improvement**: Clustered adjacency with direct edge scanning
162
180
  - **Sub-millisecond Operations**: Fast path for common graph operations
163
181
  - **Storage Efficiency**: >70% improvement over V1 format
164
182
  - **Query Performance**: 5,000-50,000 ops/sec for graph traversals
165
183
 
166
184
  #### WAL System Performance Gains
167
- - **5-10x Write Throughput**: Optimized write-ahead logging implementation
185
+ - **Write Throughput**: Optimized write-ahead logging implementation
168
186
  - **Concurrent Operations**: 30-50% improvement for mixed read/write workloads
169
187
  - **Transaction Speed**: 58% faster transaction commits than DELETE mode
170
188
  - **Memory Efficiency**: 64MB cache with optimized synchronous settings
@@ -245,7 +263,7 @@ if !source.is_file() {
245
263
 
246
264
  ### 🚀 Stable WAL Mode Implementation (SQLite Backend Only)
247
265
 
248
- **Write-Ahead Logging (WAL) mode is now fully documented and validated for production use**
266
+ **Write-Ahead Logging (WAL) mode is now documented and validated**
249
267
 
250
268
  #### WAL Mode Features ✅
251
269
  - **Zero Configuration**: WAL mode enabled by default for all file-based SQLite databases
@@ -253,13 +271,13 @@ if !source.is_file() {
253
271
  - **Automatic Optimization**: 64MB cache, NORMAL synchronous mode, 256GB memory-mapped I/O
254
272
  - **Concurrent Performance**: 30-50% improvement for concurrent read/write workloads
255
273
  - **Graceful Fallback**: Automatic fallback to DELETE mode on unsupported filesystems
256
- - **Production Ready**: Comprehensive error handling and extensive validation
274
+ - **Validation**: Error handling and validation coverage
257
275
 
258
276
  #### Implementation Details
259
277
  **Location**: `src/graph/core.rs:85-102`
260
278
  - Automatic WAL mode activation for file-based databases
261
279
  - Exclusion for in-memory databases (WAL not applicable)
262
- - Optimized PRAGMA settings for production workloads
280
+ - Optimized PRAGMA settings for real workloads
263
281
 
264
282
  #### Documentation Added
265
283
  - **Comprehensive Guide**: `docs/WAL_MODE_IMPLEMENTATION_GUIDE.md` (400+ lines)
@@ -335,4 +353,4 @@ Warnings come from:
335
353
  - tests
336
354
  - DSL/pipeline parsers
337
355
 
338
- No code removed and no suppressions added. Documentation updated accordingly.
356
+ No code removed and no suppressions added. Documentation updated accordingly.
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sqlitegraph"
3
- version = "3.0.3"
3
+ version = "3.1.1"
4
4
  edition = "2024"
5
5
  rust-version = "1.89"
6
6
  description = "Embedded graph database with full ACID transactions, HNSW vector search, dual backend support, and comprehensive graph algorithms library"
@@ -28,7 +28,7 @@
28
28
 
29
29
  **Location:** `reopen/cost/v3/medium` benchmark (10K nodes, 50K edges)
30
30
 
31
- **Impact:** V3 cannot reliably reopen databases after medium-scale writes. This is a correctness issue that must be fixed before V3 can be considered usable for production.
31
+ **Impact:** V3 cannot reliably reopen databases after medium-scale writes. This is a correctness issue that must be fixed before V3 can be recommended for general workloads.
32
32
 
33
33
  ### Recent Fix Impact Assessment
34
34
 
@@ -8,8 +8,9 @@ Cypher-inspired queries, and HNSW vector search.
8
8
 
9
9
  **Positioning:** Single-binary embedded database (no server). Persistent storage with
10
10
  atomic batch commits. Graph algorithms + HNSW vector search in one engine.
11
- SQLite: stable, mature, excellent for adjacency queries. V3: high-performance,
12
- designed for large-scale graphs, faster for bulk traversals. See benchmarks below.
11
+ SQLite: stable, mature, and easy to inspect with standard tooling. Native V3:
12
+ graph-oriented storage with cache, KV, pub/sub, and traversal features. See the
13
+ benchmarks below for workload-specific behavior.
13
14
 
14
15
  ## What's New in v3.0.0
15
16
 
@@ -34,7 +35,7 @@ See [CHANGELOG](https://github.com/oldnordic/sqlitegraph/blob/main/CHANGELOG.md)
34
35
  |---------|--------|-----------|
35
36
  | Status | Stable | Stable |
36
37
  | Storage | `.db` file | `.graph` file |
37
- | Max nodes | Unlimited | Unlimited |
38
+ | Capacity model | Storage-limited | Storage-limited |
38
39
  | Graph algorithms | 35+ | 35+ |
39
40
  | HNSW vectors | Yes | Yes |
40
41
  | Pub/Sub | Yes | Yes |
@@ -76,15 +77,15 @@ See [examples/](https://github.com/oldnordic/sqlitegraph/tree/main/sqlitegraph-c
76
77
  ```toml
77
78
  [dependencies]
78
79
  # SQLite backend (default)
79
- sqlitegraph = "2.4"
80
+ sqlitegraph-core = "3.0"
80
81
 
81
- # OR Native V3 backend (faster traversals)
82
- sqlitegraph = { version = "2.4", features = ["native-v3"] }
82
+ # OR Native V3 backend (graph-oriented storage)
83
+ sqlitegraph-core = { version = "3.0", features = ["native-v3"] }
83
84
  ```
84
85
 
85
86
  ```rust
86
- use sqlitegraph::backend::{GraphBackend, NodeSpec};
87
- use sqlitegraph::backend::sqlite::SqliteGraphBackend;
87
+ use sqlitegraph_core::backend::{GraphBackend, NodeSpec};
88
+ use sqlitegraph_core::backend::sqlite::SqliteGraphBackend;
88
89
 
89
90
  fn main() -> Result<(), Box<dyn std::error::Error>> {
90
91
  let backend = SqliteGraphBackend::in_memory()?;
@@ -101,6 +102,34 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
101
102
  }
102
103
  ```
103
104
 
105
+ ## TypedDiGraph (In-Memory)
106
+
107
+ A lightweight in-memory directed graph with typed node and edge weights,
108
+ independent of the `GraphBackend` persistence layer. Useful for build-system
109
+ DAGs, dependency graphs, and analysis passes that don't need disk storage.
110
+
111
+ ```rust
112
+ use sqlitegraph::typed_digraph::{TypedDiGraph, NodeIndex, Direction};
113
+ use sqlitegraph::typed_digraph::algo::{toposort, tarjan_scc, Dfs};
114
+
115
+ let mut g = TypedDiGraph::<&str, i32>::new();
116
+ let a = g.add_node("compile");
117
+ let b = g.add_node("link");
118
+ let c = g.add_node("run");
119
+ g.add_edge(a, b, 1);
120
+ g.add_edge(b, c, 2);
121
+
122
+ // Topological order
123
+ let order = toposort(&g).expect("acyclic");
124
+ assert_eq!(order, vec![a, b, c]);
125
+
126
+ // DFS traversal
127
+ let mut dfs = Dfs::new(&g, a);
128
+ assert_eq!(dfs.by_ref().collect::<Vec<_>>(), vec![a, b, c]);
129
+ ```
130
+
131
+ New in v3.0.5.
132
+
104
133
  ## CLI
105
134
 
106
135
  ```bash
@@ -190,4 +219,4 @@ Tools built on SQLiteGraph:
190
219
 
191
220
  ## License
192
221
 
193
- GPL-3.0
222
+ GPL-3.0-only
@@ -133,7 +133,7 @@ let validated = NodePage::unpack(&packed)?;
133
133
  - Don't use V3 for data that must persist
134
134
 
135
135
  **For developers:**
136
- - DO NOT ship V3 in production until this is fixed
136
+ - Do not recommend V3 for general workloads until this is fixed
137
137
  - DO NOT use V3 for any critical data
138
138
  - Add reopen stress tests to CI
139
139
 
@@ -84,7 +84,7 @@ The regression sweep revealed **3 active corruption bugs** in Native V3:
84
84
 
85
85
  1. **Page Overflow Bug (CRITICAL)**
86
86
  - **Symptom:** Nodes with larger payloads cause page overflow
87
- - **Impact:** Cannot use V3 for production workloads with realistic data sizes
87
+ - **Impact:** Cannot use V3 for real workloads with realistic data sizes
88
88
  - **Likely cause:** Node serialization exceeding PAGE_SIZE (4096) without proper splitting
89
89
 
90
90
  2. **Edge-Induced Node Corruption (CRITICAL)**
@@ -127,7 +127,7 @@ The regression sweep revealed **3 active corruption bugs** in Native V3:
127
127
  - Create minimal reproducers for each bug
128
128
  - Binary search to find exact failure threshold
129
129
 
130
- ### BEFORE MARKING "PRODUCTION READY"
130
+ ### BEFORE MARKING "VALIDATED"
131
131
 
132
132
  4. **Fix all HIGH PRIORITY bugs above**
133
133
  5. **Re-run this regression sweep - must pass 100%**
@@ -139,7 +139,7 @@ The regression sweep revealed **3 active corruption bugs** in Native V3:
139
139
 
140
140
  ## CONCLUSION
141
141
 
142
- **Native V3 is NOT ready for production use.**
142
+ **Native V3 is NOT validated for the documented paths.**
143
143
 
144
144
  The regression sweep successfully detected critical page boundary and corruption bugs that prevent:
145
145
  - Nodes with realistic payload sizes
@@ -201,7 +201,7 @@ fn benchmark_adjlist_queries(c: &mut Criterion) {
201
201
 
202
202
  // Benchmark neighbor queries
203
203
  group.bench_with_input(
204
- BenchmarkId::new("neighbor_query", num_nodes),
204
+ BenchmarkId::new("neighbor_query_outgoing", num_nodes),
205
205
  &num_nodes,
206
206
  |b, _| {
207
207
  let mut rng = StdRng::seed_from_u64(42);
@@ -213,6 +213,32 @@ fn benchmark_adjlist_queries(c: &mut Criterion) {
213
213
  },
214
214
  );
215
215
 
216
+ group.bench_with_input(
217
+ BenchmarkId::new("neighbor_query_incoming", num_nodes),
218
+ &num_nodes,
219
+ |b, _| {
220
+ let mut rng = StdRng::seed_from_u64(42);
221
+ b.iter(|| {
222
+ let node_id = rng.gen_range(1..num_nodes) as u64;
223
+ let neighbors = graph.neighbors(node_id, Direction::Incoming);
224
+ black_box(neighbors);
225
+ });
226
+ },
227
+ );
228
+
229
+ group.bench_with_input(
230
+ BenchmarkId::new("neighbor_query_undirected", num_nodes),
231
+ &num_nodes,
232
+ |b, _| {
233
+ let mut rng = StdRng::seed_from_u64(42);
234
+ b.iter(|| {
235
+ let node_id = rng.gen_range(1..num_nodes) as u64;
236
+ let neighbors = graph.neighbors(node_id, Direction::Undirected);
237
+ black_box(neighbors);
238
+ });
239
+ },
240
+ );
241
+
216
242
  // Benchmark BFS traversal
217
243
  group.bench_with_input(
218
244
  BenchmarkId::new("bfs_traversal", num_nodes),
@@ -21,7 +21,6 @@ use bench_utils::create_benchmark_temp_dir;
21
21
  const SAMPLE_SIZE: usize = 100;
22
22
  const WARM_UP_TIME: Duration = Duration::from_secs(5);
23
23
  const MEASURE_TIME: Duration = Duration::from_secs(15);
24
- const REGRESSION_THRESHOLD: f64 = 0.10; // 10% regression threshold
25
24
 
26
25
  // ============================================================================
27
26
  // WAL Recovery Benchmarks
@@ -121,11 +121,11 @@ fn bench_snapshot_clone(c: &mut Criterion) {
121
121
  let graph = create_benchmark_graph(1_000);
122
122
  warm_cache(&graph).expect("Failed to warm cache");
123
123
 
124
- let snapshot = Arc::new(graph.acquire_snapshot().unwrap());
124
+ let snapshot = std::rc::Rc::new(graph.acquire_snapshot().unwrap());
125
125
 
126
126
  group.bench_function("arc_clone_1000", |b| {
127
127
  b.iter(|| {
128
- let _clone = black_box(Arc::clone(&snapshot));
128
+ let _clone = black_box(std::rc::Rc::clone(&snapshot));
129
129
  })
130
130
  });
131
131
 
@@ -545,9 +545,9 @@ fn bench_cache_hit_sequential(criterion: &mut Criterion) {
545
545
  }
546
546
 
547
547
  // Sequential access pattern (cache-friendly)
548
- for i in 0..100 {
548
+ for node_id in node_ids.iter().take(100) {
549
549
  let _neighbors = graph
550
- .neighbors(SnapshotId::current(), node_ids[i], NeighborQuery::default())
550
+ .neighbors(SnapshotId::current(), *node_id, NeighborQuery::default())
551
551
  .expect("Failed to get neighbors");
552
552
  }
553
553
  });
@@ -657,9 +657,9 @@ fn bench_cache_eviction(criterion: &mut Criterion) {
657
657
  }
658
658
 
659
659
  // Access nodes in pattern that triggers eviction
660
- for i in 0..500 {
660
+ for node_id in node_ids.iter().take(500) {
661
661
  let _neighbors = graph
662
- .neighbors(SnapshotId::current(), node_ids[i], NeighborQuery::default())
662
+ .neighbors(SnapshotId::current(), *node_id, NeighborQuery::default())
663
663
  .expect("Failed to get neighbors");
664
664
  }
665
665
  });
@@ -35,11 +35,11 @@ fn create_star_graph(size: usize) -> (tempfile::TempDir, std::path::PathBuf, i64
35
35
 
36
36
  // Create star edges (center to all others)
37
37
  let center = node_ids[0];
38
- for i in 1..=size {
38
+ for (i, node_id) in node_ids.iter().enumerate().skip(1).take(size) {
39
39
  graph
40
40
  .insert_edge(EdgeSpec {
41
41
  from: center,
42
- to: node_ids[i],
42
+ to: *node_id,
43
43
  edge_type: "star".to_string(),
44
44
  data: serde_json::json!({"spoke": i}),
45
45
  })
@@ -141,8 +141,6 @@ fn bench_memory_event_queue(criterion: &mut Criterion) {
141
141
  group.measurement_time(MEASURE);
142
142
  group.warm_up_time(WARM_UP);
143
143
 
144
- const SIZE: usize = 100;
145
-
146
144
  // Test with different commit counts (events in queue)
147
145
  for &commit_count in &[10, 50, 100] {
148
146
  group.throughput(Throughput::Elements(commit_count as u64));
@@ -36,11 +36,11 @@ fn create_star_graph(size: usize) -> (tempfile::TempDir, std::path::PathBuf, i64
36
36
 
37
37
  // Create star edges (center to all others)
38
38
  let center = node_ids[0];
39
- for i in 1..=size {
39
+ for (i, target) in node_ids.iter().enumerate().skip(1).take(size) {
40
40
  graph
41
41
  .insert_edge(EdgeSpec {
42
42
  from: center,
43
- to: node_ids[i],
43
+ to: *target,
44
44
  edge_type: "star".to_string(),
45
45
  data: serde_json::json!({"spoke": i}),
46
46
  })
@@ -652,6 +652,7 @@ fn bench_kv_reopen(c: &mut Criterion) {
652
652
  /// SEMANTIC NOTE:
653
653
  /// - SQLite: Uses indexed query (O(log n))
654
654
  /// - V3: Uses O(n) scan (current implementation)
655
+ ///
655
656
  /// Results are correct, but V3 will be slower for large graphs.
656
657
  fn bench_query_by_kind(c: &mut Criterion) {
657
658
  let mut group = c.benchmark_group("query/by_kind");
@@ -675,8 +676,8 @@ fn bench_query_by_kind(c: &mut Criterion) {
675
676
  backend
676
677
  },
677
678
  |backend| {
678
- let _ =
679
- black_box(backend.query_nodes_by_kind(SnapshotId::current(), "TargetKind"));
679
+ let _result = backend.query_nodes_by_kind(SnapshotId::current(), "TargetKind");
680
+ let _ = black_box(_result);
680
681
  },
681
682
  criterion::BatchSize::SmallInput,
682
683
  );
@@ -694,7 +695,8 @@ fn bench_query_by_kind(c: &mut Criterion) {
694
695
  (backend, temp)
695
696
  },
696
697
  |(backend, _temp_dir)| {
697
- black_box(backend.query_nodes_by_kind(SnapshotId::current(), "TargetKind"));
698
+ let _ =
699
+ black_box(backend.query_nodes_by_kind(SnapshotId::current(), "TargetKind"));
698
700
  },
699
701
  criterion::BatchSize::SmallInput,
700
702
  );
@@ -709,6 +711,7 @@ fn bench_query_by_kind(c: &mut Criterion) {
709
711
  /// SEMANTIC NOTE:
710
712
  /// - SQLite: Uses SQL GLOB pattern matching (wildcards: *, ?, [chars])
711
713
  /// - V3: Uses case-sensitive substring matching
714
+ ///
712
715
  /// Results are NOT directly comparable due to semantic difference!
713
716
  fn bench_query_by_name_pattern(c: &mut Criterion) {
714
717
  let mut group = c.benchmark_group("query/by_name_pattern");