ruvector/.github/workflows
ruvnet d5e07f6e6d fix(ruvector-router-core): #430 HNSW insert beam + distance-based pruning + storage rebuild
Three remaining root causes from issue #430, plus the storage-rebuild gap from PR #460.

  Bug B — insert beam was clamped to ef_construction.min(m * 2). With defaults
          (m=16, ef_construction=200) the beam silently became 32. Late-
          inserted clusters got wired through whatever was near the entry
          point instead of through ef_construction-wide neighbour search.

  Bug C — adjacency-list pruning used `drain(0..drain_count)`, dropping the
          OLDEST edges regardless of distance. Proper HNSW pruning keeps the
          m CLOSEST edges. Now sort by `calculate_distance` to the anchor
          vector and truncate to m. Kept a fallback that preserves the
          newest-m behaviour when the anchor vector lookup fails so we
          never panic on a missing vector.

  Storage — VectorDB::new() always created a fresh empty HnswIndex, so
            previously persisted vectors were invisible to search after
            reopening the database. Now rebuild via storage.get_all_ids()
            + index.insert_batch() on open, and seed VectorDbStats.total_vectors
            with the recovered count.

Tests:
  - test_pruning_keeps_closest_not_newest: builds a hub with 20 close
    neighbours then 6 far neighbours, asserts no "far_*" id appears in
    top-10 around the hub. Fails on FIFO pruning.
  - test_index_rebuilt_from_storage_on_open: writes 5 vectors via one
    VectorDB instance, reopens against the same path, asserts search
    returns the persisted match. Fails on the historical empty-index bug.

Regression-guard CI additions:
  - hnsw-insert-beam-no-m2-clamp: textually forbids the ef_construction.min(m*2)
    pattern in index.rs.
  - hnsw-distance-based-neighbor-pruning: requires calculate_distance and the
    `> m * 2` overflow gate to both live in index.rs.
  - vector-db-rebuilds-index-on-open: requires storage.get_all_ids() in
    vector_db.rs.
  - hnsw-recall-at-1 job now also runs the two new tests.

Supersedes PR #460 (CoolDude1969) which covered storage rebuild + an
overlapping heap fix already in main from PR #466.

Closes #430.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-18 16:30:32 -04:00
..
agentic-synth-ci.yml feat(agentic-synth): Update RuVector adapter to use native NAPI-RS bindings (#34) 2025-12-01 13:17:26 -05:00
benchmarks.yml ci: fix benchmarks by installing PostgreSQL 17 and pgrx 2025-12-30 15:36:30 +00:00
build-attention.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-diskann.yml feat(diskann): Vamana ANN + PQ + NAPI bindings — 14 tests, 1.0 recall, 90µs search (#334) 2026-04-06 17:55:06 -04:00
build-gnn.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-graph-node.yml feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
build-graph-transformer.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-native.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-router.yml fix(ci): read version from package.json instead of hardcoded value 2026-01-24 12:35:23 -05:00
build-rvf-node.yml fix(ci): resolve all build-rvf-node failures 2026-02-16 22:39:04 +00:00
build-tiny-dancer.yml feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
build-verified.yml feat: add formal verification layer with lean-agentic dependent types 2026-02-25 03:45:18 +00:00
ci.yml feat(ruvector-hailo): NPU embedding backend + multi-Pi cluster (ADRs 167-170) (#413) 2026-05-04 08:30:40 -04:00
clippy-fmt.yml chore(workspace): fix pre-existing test flakes + add CI -D warnings enforcement 2026-04-25 20:17:47 -04:00
copilot-setup-steps.yml fix: Add Copilot setup workflow with git clone cleanup step 2026-01-29 11:05:28 -05:00
docker-publish.yml fix(docker): include gated-transformer dependency in builds 2025-12-26 23:39:06 +00:00
edge-net-models.yml chore: Update dependency versions for crates.io publishing 2026-01-04 19:44:24 +00:00
hailo-backend-audit.yml hailo: NPU pipeline pool exploration + bridge cache/health parity (iter 234-249) (#418) 2026-05-04 09:56:26 -04:00
hooks-ci.yml fix(ci): use --memory-type flag for hooks remember command 2025-12-29 17:58:38 +00:00
mirror-rulake.yml ci: mirror crates/ruvector-rulake/ + ADRs to ruvnet/RuLake on push 2026-04-24 10:29:09 -04:00
postgres-extension-ci.yml fix: add missing pg17 feature flag in pgrx test commands and fix rustdoc link errors 2026-02-21 22:44:28 +00:00
publish-all.yml fix: Update ruvector-math-wasm to use @ruvector/math-wasm scoped package 2026-01-11 17:21:16 +00:00
regression-guard.yml fix(ruvector-router-core): #430 HNSW insert beam + distance-based pruning + storage rebuild 2026-05-18 16:30:32 -04:00
RELEASE-FLOW.md feat: Implement GNN forgetting mitigation (#17) 2025-11-26 23:17:07 +00:00
release-rvf-cli.yml feat(rvf-cli): add cross-platform release workflow and update README 2026-02-16 23:19:39 +00:00
RELEASE.md feat: Implement GNN forgetting mitigation (#17) 2025-11-26 23:17:07 +00:00
release.yml fix: Remove automatic npm publish from CI/CD workflows 2025-11-30 21:23:39 +00:00
ruvector-postgres-ci.yml fix: update pgrx to 0.12.9 in both CI workflows and fix formatting 2026-02-21 22:34:37 +00:00
ruvllm-benchmarks.yml feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ruvllm-build.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
ruvllm-esp32-firmware.yml feat(ruvector-hailo): NPU embedding backend + multi-Pi cluster (ADRs 167-170) (#413) 2026-05-04 08:30:40 -04:00
ruvllm-native.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
ruvltra-tests.yml fix: CI clippy errors and Windows test failures 2026-03-16 23:21:01 -04:00
sona-napi.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
sync-rvf-examples.yml fix: ruvector-postgres v0.3.1 — audit bug fixes, 46 SQL functions, Docker publish (#227) 2026-03-03 12:53:10 -05:00
thermorust-ci.yml feat(thermorust): add thermodynamic neural-motif crate 2026-02-27 14:22:44 +00:00
ui-ci.yml feat(quality): ADR-144 monorepo quality analysis — Phase 1 critical fixes (#336) 2026-04-06 21:19:13 -04:00
validate-lockfile.yml fix: Resolve CI failures from platform-specific npm package conflicts 2025-11-27 15:38:11 +00:00
wasm-dedup-check.yml fix(rvf-wasm): fix Node.js CJS/ESM glue and add rvf-node CI 2026-02-16 21:33:14 +00:00