Commit graph

843 commits

Author SHA1 Message Date
ruvnet
3de3235acc fix(ruvector-cli): real demo + binding-drift fixes for v0.2.25 (#400, #402)
Follow-up to #403. Addresses the runtime-side issues from #400 (`ruvector
demo` modes) and #402 §A/§B (VectorDB CRUD + GNN/attention typed-array
errors) that needed binding-surface investigation.

## Changes

### `VectorDBWrapper`: normalize distance metric (§A root cause)

`@ruvector/core`'s `JsDistanceMetric` enum is PascalCase
(`Euclidean | Cosine | DotProduct | Manhattan`), but every CLI call site
passes lowercase shorthand (`'cosine'`, `'euclidean'`, `'dot'`). The
native binding rejects lowercase with:

  value `"cosine"` does not match any variant of enum `JsDistanceMetric`
  on JsDbOptions.distanceMetric

Add a `normalizeMetric()` helper in `src/index.ts` that maps both casing
*and* common aliases (`l2`, `dot`, `dotproduct`, `innerproduct`, `l1`)
to the enum variant. Also accept `metric` as a constructor alias for
`distanceMetric` so the CLI's existing `{metric: ...}` shape works
without changing every call site.

### `demo --basic`: realign with current `VectorDb` API (§A surface)

Old code:

  db.insert('vec1', [1.0, 0.0, 0.0, 0.0], { label: 'x-axis' });
  const r = db.search([0.8, 0.6, 0, 0], 3);

Current `VectorDBWrapper` (and the underlying `@ruvector/core` binding)
takes a single object:

  await db.insert({ id: 'vec1', vector: new Float32Array([...]),
                    metadata: { label: 'x-axis' } });
  const r = await db.search({ vector: new Float32Array([...]), k: 3 });

Updated all four insert calls + the search call accordingly. Verified
locally — vec4 (closest to [0.8, 0.6]) is correctly returned first.

### `demo --gnn`: Float32Array + binding-bug surfaceability

Two issues:

1. CLI passed plain `number[]`; binding requires `Float32Array`. Fixed.

2. `@ruvector/gnn-linux-x64-gnu@0.1.25` has a published-binding
   regression where every method (`differentiableSearch`,
   `RuvectorLayer.forward`, `TensorCompress.compress`) throws
   `Given napi value is not an array` regardless of input shape —
   verified with both `Array<Float32Array>` and `number[][]`. This is
   a binary-side bug, not fixable from the CLI.

Added `reportGnnBindingError()` helper that detects the error pattern
and surfaces a pointer at #402 so users don't waste time debugging
their own install. Wired it into all three GNN command error handlers
(`gnn layer --test`, `gnn compress`, `gnn search`) and the demo.

Also fixed `result.attention_weights` → `result.weights` (the wrapper
shape; `attention_weights` was the older binding shape) with a fallback
that handles both.

### `demo --graph`: real round-trip via `GraphDatabase`

Was a stub printing "Full graph demo coming soon". `@ruvector/graph-node`
exposes a `GraphDatabase` class with `createNode({ id, embedding,
properties })`, `createEdge({ from, to, description, embedding,
confidence })`, and `stats()` — all async. Implemented a tiny
Alice -[:KNOWS]-> Bob round-trip using the actual API surface.

### `demo --benchmark`: real inline benchmark (with workaround)

Was redirecting to `npx ruvector benchmark`. Implemented an inline
1000-vector / 100-query mini-benchmark. Pinned to `dim=4` because
`ruvector-core-linux-x64-gnu@0.1.29` has a regression where the
`dimensions` constructor arg is ignored — every `VectorDb` instance
reports `expected 4` regardless of what's passed (verified by
constructing fresh instances with various dims). Tracked at #402.
Once that binding is rebuilt, `dim` can scale up.

### `attention compute`: align with current `compute()` surface (§B)

The CLI's old switch invoked `attn.forward([query], keys, values)`,
but every current `@ruvector/attention` class exposes `compute(query,
keys, values)` instead — `forward` doesn't exist. Also the query
must be a flat `Float32Array`, not `[query]` matrix.

Reproduces the user's `Failed to convert napi value Undefined into
rust type u32` and `Get TypedArray info failed` errors directly.

Replaced all five branches (`dot | multi-head | flash | hyperbolic |
linear`) with the correct `compute()` invocation + Float32Array
conversion. Verified locally:

  $ node bin/cli.js attention compute -q "[1,0,0,0]" -k keys.json -t dot
  ✔ Attention computed (dot)
  Output: [0.6225, 0.3775, 0, 0...]

### `gnn layer --test` / `gnn compress` / `gnn search`: typed-array conversion

All three commands previously passed plain `number[]` where the binding
needs `Float32Array`. Converted at the call sites + added the
`reportGnnBindingError` hook so users see the upstream pointer when
they hit the binding-side regression.

## Verification

```
$ node bin/cli.js demo --basic
  Searching for nearest to [0.8, 0.6, 0, 0]:
    1. vec4 (score: 0.0101)  ✓ correct nearest
    2. vec1 (score: 0.2000)
    3. vec2 (score: 0.4000)
  Demo complete!

$ node bin/cli.js demo --gnn
  GNN demo failed: Given napi value is not an array
  Note: this is a known regression in the @ruvector/gnn native binding…
    https://github.com/ruvnet/ruvector/issues/402

$ node bin/cli.js demo --graph
  ✓ GraphDatabase instance created
  ✓ Created nodes: Alice (alice), Bob (bob)
  ✓ Created edge Alice -[:KNOWS]-> Bob (uuid)
  Graph demo complete!

$ node bin/cli.js demo --benchmark
  ✓ Inserted 1000 vectors in 126ms (0.13ms/vec)
  ✓ 100× top-10 search in 51ms (0.51ms/query)

$ node bin/cli.js attention compute -q "[1,0,0,0]" -k keys.json -t dot
  ✔ Attention computed (dot)

$ npm run verify-dist
  verify-dist: 13 dist path(s) present.
```

Version bumped 0.2.24 → 0.2.25.

## Out of scope (binding-side rebuilds needed)

- `@ruvector/gnn` published bindings throw on every call (binding bug).
- `@ruvector/core` published bindings ignore `dimensions` constructor
  arg (binding bug).

Both need a rebuild from current source — the Rust source in this repo
shows correct independent state, but the published `.node` files have
the regression. Rebuild and republish are tracked separately.
2026-04-27 08:42:34 -04:00
rUv
ceee9fd680
fix(ruvector-cli): release-hygiene fixes for v0.2.24 (#399, #401) (#403)
Addresses release-hygiene gaps in the published `ruvector` npm CLI
(0.2.23) reported in #399, #400, #401, #402.

## Changes

### `prepublishOnly` build-output verification (#399, #402 §C)

`0.2.23` was published without a `dist/` directory at all. tsc was
supposed to run via the existing `prepublishOnly` hook, but the hook
either didn't fire or failed silently — the published tarball shipped
no `dist/` and `bin/cli.js`'s 13 distinct `require('../dist/...')`
sites all crashed (`ruvector doctor`, `embed`, `rvf` subsystems).

Add `scripts/verify-dist.js` that scans `bin/cli.js` for every
`require('../dist/...')` path and asserts the file exists in the
local tree. Wire it into `prepublishOnly` after `npm run build` so
publish itself fails loudly if the artifact is incomplete:

  "prepublishOnly": "npm run build && npm run verify-dist"

This is a structural gate — independent of whether the publisher
remembered to run the build manually.

### Router help-text package name (#401 §2)

The CLI claimed `router` "requires ruvector-router-core", which is the
Rust crate name and isn't on npm. Users following the hint hit
`npm error 404 'ruvector-router-core@*' is not in this registry`.

The actual npm package is `@ruvector/router` (already used by the
internal wrapper at `src/core/router-wrapper.ts:16`). Replace the
three user-facing strings:

- `program.command('router').description(...)`
- the `--info` help block's "Rust crate available:" line
- the install-hint section in `info` (kept the Rust hint for the
  Rust workflow, added a parallel npm hint)

### `optimize` graceful failure (#401 §1)

`bin/cli.js` requires `'../src/optimizer/index.js'`, but the
optimizer module was never implemented — there's no `index.js` in
`src/optimizer/` (only three orphan helpers: `context.js`,
`settings-generator.js`, `tool-schemas.js`), and the listProfiles /
getProfile / detectTaskType functions the CLI calls don't exist
anywhere. Hard-coded `process.exit(1)` after a generic stack-trace
made it look like the package was broken on the user's machine.

Replace with a friendly "not yet shipped" message that points at the
tracking issue.

### Out of scope (deferred)

These need binding-side investigation and are larger:
- #400: `ruvector demo` API drift (`db.insert is not a function`)
- #402 §A: `VectorDB` CRUD lifecycle (`insertBatch is not a function`)
- #402 §B: GNN/attention typed-array marshalling

The structural fixes here unblock #399 and #402 §C entirely; the
remaining items are tracked separately.

## Verification

```
$ npm run build
$ npm run verify-dist
verify-dist: 13 dist path(s) present.

$ node bin/cli.js optimize --list
  ruvector optimize: not yet shipped in this release.
  ...track at .../issues/401

$ node bin/cli.js router --info
  Status: Coming Soon
  npm package:  npm install @ruvector/router
  Rust crate:   cargo add ruvector-router-core

$ node bin/cli.js --help | grep router
  router [options]   AI semantic router operations (requires
                     @ruvector/router)

$ npm pack --dry-run | grep -E "dist/(index|core/onnx-embedder|core/rvf-wrapper)"
14.3kB dist/core/onnx-embedder.js
 2.6kB dist/core/rvf-wrapper.js
 7.8kB dist/index.js
```

Version bumped 0.2.23 → 0.2.24.

Co-authored-by: ruvnet <ruvnet@gmail.com>
2026-04-27 08:27:54 -04:00
github-actions[bot]
d209fc4c6b chore: Update NAPI-RS binaries for all platforms
Built from commit c7aed50817

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-27 05:57:40 +00:00
github-actions[bot]
14325ae72d chore: Update NAPI-RS binaries for all platforms
Some checks failed
Clippy + fmt / Clippy (deny warnings) (push) Waiting to run
Clippy + fmt / Rustfmt (push) Waiting to run
WASM Dedup Check / check-wasm-dedup (push) Waiting to run
RuvLLM Benchmarks / macOS ARM64 Benchmarks (M-series) (push) Has been cancelled
RuvLLM Benchmarks / Linux Benchmarks (NEON baseline) (push) Has been cancelled
RuvLTRA-Small Tests / E2E Tests (ubuntu-latest) (push) Has been cancelled
RuvLTRA-Small Tests / Apple Silicon Tests (push) Has been cancelled
RuvLTRA-Small Tests / Quantization Accuracy (push) Has been cancelled
RuvLTRA-Small Tests / Test Coverage (push) Has been cancelled
ruvector-verified CI / check (--all-features) (push) Has been cancelled
ruvector-verified CI / check (--features all-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features coherence-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features hnsw-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features rvf-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features serde) (push) Has been cancelled
ruvector-verified CI / check (--features ultra) (push) Has been cancelled
ruvector-verified CI / clippy (push) Has been cancelled
RuvLTRA-Small Tests / E2E Tests (macos-latest) (push) Has been cancelled
ruvector-verified CI / check () (push) Has been cancelled
RuvLTRA-Small Tests / Unit Tests (ubuntu-latest) (push) Has been cancelled
RuvLTRA-Small Tests / Unit Tests (windows-latest) (push) Has been cancelled
RuvLTRA-Small Tests / Unit Tests (macos-latest) (push) Has been cancelled
RuvLTRA-Small Tests / Thread Safety (push) Has been cancelled
RuvLTRA-Small Tests / Performance Benchmarks (push) Has been cancelled
RuvLTRA-Small Tests / Stress Tests (push) Has been cancelled
RuvLTRA-Small Tests / Code Quality (push) Has been cancelled
RuvLLM Benchmarks / Compare Benchmarks (push) Has been cancelled
RuvLTRA-Small Tests / Test Summary (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
Built from commit 019e5afff3

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-27 04:37:02 +00:00
github-actions[bot]
96b88cd4e6 chore: Update NAPI-RS binaries for all platforms
Built from commit ce1afecb22

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-27 03:21:45 +00:00
github-actions[bot]
5b9c028ee7 chore: Update NAPI-RS binaries for all platforms
Built from commit 1676ffea0b

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-27 03:19:25 +00:00
rUv
ce1afecb22
feat(wasm): publish @ruvector/rabitq-wasm and @ruvector/acorn-wasm to npm (#394)
* feat(ruvector-rabitq-wasm): WASM bindings for RaBitQ via wasm-bindgen

Closes the WASM gap from `docs/research/rabitq-integration/` Tier 2
("WASM / edge: 32× compression makes on-device RAG feasible") and
ADR-157 ("VectorKernel WASM kernel as a Phase 2 goal"). Adds a
`ruvector-rabitq-wasm` sibling crate that exposes `RabitqIndex` to
JavaScript/TypeScript callers (browsers, Cloudflare Workers, Deno,
Bun) via wasm-bindgen.

```js
import init, { RabitqIndex } from "ruvector-rabitq";
await init();

const dim = 768;
const n = 10_000;
const vectors = new Float32Array(n * dim);  // populate
const idx = RabitqIndex.build(vectors, dim, 42, 20);
const query = new Float32Array(dim);
const results = idx.search(query, 10);  // [{id, distance}, ...]
```

## Surface

- `RabitqIndex.build(vectors: Float32Array, dim, seed, rerank_factor)`
- `idx.search(query: Float32Array, k) → SearchResult[]`
- `idx.len`, `idx.isEmpty`
- `version()` — crate version baked at build time
- `SearchResult { id: u32, distance: f32 }` — mirrors the Python SDK
  (PR #381) shape so callers porting code between languages get
  identical structures.

## Native compatibility tweak

`ruvector-rabitq` had one rayon call site in
`from_vectors_parallel_with_rotation`. WASM is single-threaded — gated
that path on `cfg(not(target_arch = "wasm32"))` with a sequential
`.into_iter()` fallback for wasm. Output is bit-identical because the
rotation matrix is deterministic (ADR-154); parallel ordering doesn't
affect bytes.

`rayon` is now `[target.'cfg(not(target_arch = "wasm32"))'.dependencies]`
so the wasm build doesn't pull it in. Native build behavior unchanged
(39 / 39 lib tests still pass).

## Crate layout

  crates/ruvector-rabitq-wasm/
    Cargo.toml      cdylib + rlib, wasm-bindgen 0.2, abi-3-friendly
    src/lib.rs      ~150 LoC of bindings; tests gated to wasm32 via
                    wasm_bindgen_test (native test would panic in
                    wasm-bindgen 0.2.117's runtime stub).

## Testing strategy

Native tests of WASM bindings panic by design — `JsValue::from_str`
calls into a wasm-bindgen runtime stub that's `unimplemented!()` on
non-wasm32 targets (since 0.2.117). The right path is
`wasm-pack test --node` or `wasm-pack test --headless --chrome`,
which we'll wire into CI as a follow-up.

The numerical correctness is already covered by `ruvector-rabitq`'s
own test suite. This crate only adds the JS-facing surface.

## Verification (native)

  cargo build --workspace                                              → 0 errors
  cargo build -p ruvector-rabitq-wasm                                  → clean
  cargo clippy -p ruvector-rabitq-wasm --all-targets --no-deps -- -D warnings → exit 0
  cargo test -p ruvector-rabitq                                        → 39 / 39 (unchanged)
  cargo fmt --all --check                                              → clean

WASM target build (`wasm32-unknown-unknown`) requires `rustup target
add wasm32-unknown-unknown` — not exercised in this PR; will be
covered by a follow-up CI job.

Refs: docs/research/rabitq-integration/ Tier 2, ADR-157
("Optional Accelerator Plane"), PR #381 (Python SDK shape mirror).

Co-Authored-By: claude-flow <ruv@ruv.net>

* feat(acorn): add ruvector-acorn crate — ACORN predicate-agnostic filtered HNSW

Implements the ACORN algorithm (Patel et al., SIGMOD 2024, arXiv:2403.04871)
as a standalone Rust crate. ACORN solves filtered vector search recall collapse
at low predicate selectivity by expanding ALL graph neighbors regardless of
predicate outcome, combined with a γ-augmented graph (γ·M neighbors/node).

Three index variants:
- FlatFilteredIndex: post-filter brute-force baseline
- AcornIndex1: ACORN with M=16 standard edges
- AcornIndexGamma: ACORN with 2M=32 edges (γ=2)

Measured (n=5K, D=128, release): ACORN-γ achieves 98.9% recall@10 at 1%
selectivity. cargo build --release and cargo test (12/12) both pass.

https://claude.ai/code/session_0173QrGBttNDWcVXXh4P17if

* perf(acorn): bounded beam, parallel build, flat data, unrolled L2²

Five linked optimizations to ruvector-acorn (≈50% smaller search
working set, ≈6× faster build on 8 cores, comparable or better
recall at every selectivity):

1. **Fix broken bounded-beam eviction in `acorn_search`.**
   The previous implementation admitted that its `else` branch was
   "wrong" (the comment literally said "this is wrong") and pushed
   every neighbor into `candidates` unconditionally, growing the
   frontier to O(n). Replace with a correct max-heap eviction:
   when `|candidates| >= ef`, only admit a neighbor if it improves
   on the farthest pending candidate, evicting that one. This gives
   the documented O(ef) memory bound and stops wasted neighbor
   expansions at the prune cutoff.

2. **Parallelize the O(n²·D) graph build with rayon.**
   The forward pass (each node finds its M nearest predecessors) is
   embarrassingly parallel — `into_par_iter` over rows. Back-edge
   merge stays serial behind a `Mutex<Vec<u32>>` per node so the
   merge is deterministic. ~6× faster on an 8-core box for 5K×128.

3. **Flat row-major vector storage.**
   `data: Vec<Vec<f32>>` → `data: Vec<f32>` (length n·dim) with a
   `row(i)` accessor. Eliminates the per-vector heap indirection,
   keeps the L2² inner loop on contiguous memory the compiler can
   vectorize, and trims index size by ~one allocation per row.

4. **`Vec<bool>` for `visited` instead of `HashSet<u32>`.**
   O(1) lookup with no hashing or allocator pressure on the hot path.

5. **Hand-unroll L2² by 4.**
   Four independent accumulators give LLVM enough room to issue
   AVX2/SSE/NEON FMA chains on contemporary x86_64 / aarch64.
   3-5× faster for D ≥ 64 in microbenchmarks.

Other:
- `exact_filtered_knn` parallelizes across data via rayon (recall
  measurement only — needs `+ Sync` on the predicate).
- `benches/acorn_bench.rs` switches `SmallRng` → `StdRng` (the
  workspace doesn't enable rand's `small_rng` feature so the bench
  failed to compile).
- `cargo fmt` applied across the crate; CI's Rustfmt check was the
  blocking failure on the original PR.

Demo run on x86_64, n=5000, D=128, k=10:
  Build:  ACORN-γ ≈ 23 ms (was 1.8 s)
  Recall: 96.0% @ 1% selectivity (paper: ~98%)
          92.0% @ 5% selectivity
          79.7% @ 10% selectivity
          34.5% @ 50% selectivity (predicate dilutes top-k truth)
  QPS:    18 K @ 1% sel, 65 K @ 50% sel

Co-Authored-By: claude-flow <ruv@ruv.net>

* fix(acorn): clippy clean-up — sort_by_key, is_empty, redundant closures

CI's `Clippy (deny warnings)` flagged three lints introduced by the
previous optimization commit:

- `unnecessary_sort_by` (graph.rs:158, 176) → use `sort_by_key`
- `len_without_is_empty` (graph.rs) → add `AcornGraph::is_empty`
  and `if graph.is_empty()` in search.rs
- `redundant_closure` (main.rs:65, 159, 160) → pass the predicate
  directly to `recall_at_k` instead of `|id| pred(id)`

No semantic change.

Co-Authored-By: claude-flow <ruv@ruv.net>

* feat(wasm): publish @ruvector/rabitq-wasm and @ruvector/acorn-wasm to npm

Two new WASM packages (both v0.1.0, MIT OR Apache-2.0, scoped under
@ruvector). Mirrors the existing @ruvector/graph-wasm packaging
pattern so release tooling treats all three uniformly.

- ADR-161: @ruvector/rabitq-wasm — RaBitQ 1-bit quantized vector
  index. 32× embedding compression with deterministic rotation.
  Wraps the existing crates/ruvector-rabitq-wasm crate.
- ADR-162: @ruvector/acorn-wasm — ACORN predicate-agnostic filtered
  HNSW. 96% recall@10 at 1% selectivity with arbitrary JS predicates.
  Adds crates/ruvector-acorn-wasm (new), wrapping the ruvector-acorn
  crate from PR #391.

Each crate ships with:
- `build.sh` that runs `wasm-pack build` for web / nodejs / bundler
  targets, emitting into npm/packages/{rabitq,acorn}-wasm/{,node/,bundler/}.
- A canonical scoped package.json (kept under git as
  package.scoped.json because wasm-pack regenerates package.json from
  Cargo metadata on every build).
- A README.md with install + usage for browser, Node.js, and bundler
  contexts.
- A `.gitignore` that excludes the wasm-pack-generated artifacts
  (.wasm + .js + .d.ts) so only canonical source lives in the repo.

Build sanity:
- `cargo check -p ruvector-acorn-wasm -p ruvector-rabitq-wasm` clean
- `cargo clippy -- -D warnings` clean for both
- `wasm-pack build` succeeds for all three targets on both crates

Published:
- @ruvector/rabitq-wasm@0.1.0 — 40 KB tarball, 71 KB wasm
- @ruvector/acorn-wasm@0.1.0  — 49 KB tarball, ~85 KB wasm

Root README updated with both packages in the npm packages table.

Note: this branch also carries cherry-picks of PR #391's `ruvector-acorn`
crate (commits b90af9caa, 0b4eab11f, eb88176bd, f5913b783) and PR
#391's predecessor commit a674d6eba for `ruvector-rabitq-wasm` itself,
because both base crates are required to build the new WASM wrappers.

Co-Authored-By: claude-flow <ruv@ruv.net>

---------

Co-authored-by: ruvnet <ruvnet@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-04-26 23:10:39 -04:00
github-actions[bot]
bc4375a975 chore: Update NAPI-RS binaries for all platforms
Built from commit a65c324434

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-27 00:45:01 +00:00
github-actions[bot]
caef0cbf35 chore: Update NAPI-RS binaries for all platforms
Some checks failed
Workspace CI / Tests (ruqu-quantum) (push) Waiting to run
Workspace CI / Tests (ruvix) (push) Waiting to run
Workspace CI / Tests (rvagent) (push) Waiting to run
Workspace CI / Tests (vector-index) (push) Waiting to run
Workspace CI / Security audit (push) Waiting to run
Clippy + fmt / Rustfmt (push) Waiting to run
Clippy + fmt / Clippy (deny warnings) (push) Waiting to run
RuvLLM Benchmarks / Linux Benchmarks (NEON baseline) (push) Waiting to run
RuvLLM Benchmarks / Compare Benchmarks (push) Blocked by required conditions
RuvLLM Benchmarks / macOS ARM64 Benchmarks (M-series) (push) Waiting to run
RuvLTRA-Small Tests / Test Summary (push) Blocked by required conditions
RuvLTRA-Small Tests / E2E Tests (macos-latest) (push) Waiting to run
RuvLTRA-Small Tests / E2E Tests (ubuntu-latest) (push) Waiting to run
RuvLTRA-Small Tests / Apple Silicon Tests (push) Waiting to run
RuvLTRA-Small Tests / Quantization Accuracy (push) Waiting to run
RuvLTRA-Small Tests / Test Coverage (push) Waiting to run
RuvLTRA-Small Tests / Unit Tests (ubuntu-latest) (push) Waiting to run
RuvLTRA-Small Tests / Unit Tests (windows-latest) (push) Waiting to run
RuvLTRA-Small Tests / Unit Tests (macos-latest) (push) Waiting to run
RuvLTRA-Small Tests / Thread Safety (push) Waiting to run
RuvLTRA-Small Tests / Performance Benchmarks (push) Waiting to run
RuvLTRA-Small Tests / Stress Tests (push) Waiting to run
RuvLTRA-Small Tests / Code Quality (push) Waiting to run
WASM Dedup Check / check-wasm-dedup (push) Waiting to run
Build Graph Node Native Modules / Build Graph darwin-arm64 (push) Has been cancelled
Build Graph Node Native Modules / Build Graph darwin-x64 (push) Has been cancelled
Build Graph Node Native Modules / Build Graph linux-arm64-gnu (push) Has been cancelled
Build Graph Node Native Modules / Build Graph linux-x64-gnu (push) Has been cancelled
Build Graph Node Native Modules / Build Graph win32-x64-msvc (push) Has been cancelled
Build Graph Node Native Modules / Publish Graph Node Platform Packages (push) Has been cancelled
Built from commit 61912198af

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-26 19:35:28 +00:00
github-actions[bot]
8882cb0241 chore: Update NAPI-RS binaries for all platforms
Built from commit e72fa3b253

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-26 16:01:37 +00:00
github-actions[bot]
5809a99a3d chore: Update NAPI-RS binaries for all platforms
Built from commit 7a599b7cf4

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-26 00:52:17 +00:00
github-actions[bot]
e1e7b04850 chore: Update NAPI-RS binaries for all platforms
Some checks failed
Build GNN Native Modules / Build GNN linux-x64-gnu (push) Has been cancelled
Build GNN Native Modules / Build GNN linux-x64-musl (push) Has been cancelled
Build GNN Native Modules / Build GNN win32-x64-msvc (push) Has been cancelled
ruvector-verified CI / check (--features hnsw-proofs) (push) Has been cancelled
Build Graph Node Native Modules / Build Graph darwin-arm64 (push) Has been cancelled
Build Graph Node Native Modules / Build Graph darwin-x64 (push) Has been cancelled
Build Graph Node Native Modules / Build Graph linux-arm64-gnu (push) Has been cancelled
Build Graph Node Native Modules / Build Graph linux-x64-gnu (push) Has been cancelled
Build Graph Node Native Modules / Build Graph win32-x64-msvc (push) Has been cancelled
Build Native Modules / Build darwin-arm64 (push) Has been cancelled
Build Native Modules / Build linux-arm64-gnu (push) Has been cancelled
Build Native Modules / Build darwin-x64 (push) Has been cancelled
Build Native Modules / Build win32-x64-msvc (push) Has been cancelled
Build Native Modules / Build linux-x64-gnu (push) Has been cancelled
RuvLTRA-Small Tests / Thread Safety (push) Has been cancelled
RuvLTRA-Small Tests / Performance Benchmarks (push) Has been cancelled
RuvLTRA-Small Tests / Stress Tests (push) Has been cancelled
RuvLTRA-Small Tests / Code Quality (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
RuvLLM Benchmarks / Compare Benchmarks (push) Has been cancelled
RuvLTRA-Small Tests / Test Summary (push) Has been cancelled
Benchmarks / Compare with Baseline (push) Has been cancelled
Build Attention Native Modules / Commit Built Binaries (push) Has been cancelled
Build Attention Native Modules / Publish Attention Platform Packages (push) Has been cancelled
Build DiskANN Native Modules / Publish DiskANN Platform Packages (push) Has been cancelled
Build GNN Native Modules / Commit Built GNN Binaries (push) Has been cancelled
Build GNN Native Modules / Publish GNN Platform Packages (push) Has been cancelled
Build Graph Node Native Modules / Publish Graph Node Platform Packages (push) Has been cancelled
Build Native Modules / Commit Built Binaries (push) Has been cancelled
Built from commit 2e68f0c9f8

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-24 17:34:41 +00:00
github-actions[bot]
e8be15190d chore: Update NAPI-RS binaries for all platforms
Built from commit a8e247b634

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-24 15:37:46 +00:00
github-actions[bot]
9cb8f2525e chore: Update NAPI-RS binaries for all platforms
Some checks are pending
Workspace CI / Rustfmt (push) Waiting to run
Workspace CI / Cargo check (push) Waiting to run
Benchmarks / SQL Benchmarks (push) Waiting to run
Benchmarks / Rust Benchmarks (push) Waiting to run
Benchmarks / Compare with Baseline (push) Blocked by required conditions
Build Native Modules / Build darwin-arm64 (push) Waiting to run
Build Native Modules / Build linux-arm64-gnu (push) Waiting to run
Build Native Modules / Build darwin-x64 (push) Waiting to run
Build Native Modules / Build win32-x64-msvc (push) Waiting to run
Build Native Modules / Build linux-x64-gnu (push) Waiting to run
Build Native Modules / Commit Built Binaries (push) Blocked by required conditions
ruvector-verified CI / check (--features coherence-proofs) (push) Waiting to run
ruvector-verified CI / check (--features hnsw-proofs) (push) Waiting to run
ruvector-verified CI / check (--features rvf-proofs) (push) Waiting to run
ruvector-verified CI / check (--features serde) (push) Waiting to run
ruvector-verified CI / check (--features ultra) (push) Waiting to run
ruvector-verified CI / test (push) Blocked by required conditions
ruvector-verified CI / bench (push) Blocked by required conditions
ruvector-verified CI / clippy (push) Waiting to run
ruvector-verified CI / check () (push) Waiting to run
ruvector-verified CI / check (--all-features) (push) Waiting to run
ruvector-verified CI / check (--features all-proofs) (push) Waiting to run
Workspace CI / Clippy (push) Waiting to run
Workspace CI / Tests (push) Waiting to run
Workspace CI / Security audit (push) Waiting to run
WASM Dedup Check / check-wasm-dedup (push) Waiting to run
Built from commit 2c028aee3e

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-23 20:34:04 +00:00
github-actions[bot]
e86d3e17e1 chore: Update NAPI-RS binaries for all platforms
Built from commit c82183f859

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-21 20:44:54 +00:00
github-actions[bot]
5324d17d02 chore: Update RVF NAPI-RS binaries for all platforms
Built from commit c82183f859

Platforms: linux-x64-gnu, linux-arm64-gnu, darwin-x64, darwin-arm64, win32-x64-msvc

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-21 20:31:20 +00:00
github-actions[bot]
c82183f859 chore: Update NAPI-RS binaries for all platforms
Built from commit bf727c68b6

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-21 14:09:34 +00:00
github-actions[bot]
3f74d6f272 chore: Update NAPI-RS binaries for all platforms
Built from commit 4641d7a64e

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:34:34 +00:00
github-actions[bot]
2183fc8dfc chore: Update NAPI-RS binaries for all platforms
Built from commit 855d8faec4

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:33:55 +00:00
github-actions[bot]
ea1801ecc2 chore: Update NAPI-RS binaries for all platforms
Built from commit c01361cba5

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:32:52 +00:00
rUv
4641d7a64e fix(esm): add .js extensions to dist module specifiers (#343)
fix(esm): add .js extensions to dist module specifiers for Node.js ESM compatibility
2026-04-20 14:28:59 -04:00
github-actions[bot]
3cd990a416 chore: Update NAPI-RS binaries for all platforms
Built from commit 03f6486413

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:24:20 +00:00
github-actions[bot]
6c5b72ceef chore: Update NAPI-RS binaries for all platforms
Built from commit 36a36d69e3

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:20:52 +00:00
ruv
03f6486413 chore(npm): patch bump packages for security overrides (#346)
Bump consumer-facing npm packages after adding overrides for
vulnerable transitive deps (node-forge, flatted, picomatch, lodash,
brace-expansion). Thanks @Avi-Bendetsky for the fix.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-20 14:14:43 -04:00
rUv
36a36d69e3 security: fix vulnerable transitive npm dependencies (#346)
security: fix vulnerable transitive npm dependencies
2026-04-20 14:12:51 -04:00
github-actions[bot]
fb5aa6b811 chore: Update NAPI-RS binaries for all platforms
Built from commit 24d92f2388

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 18:12:05 +00:00
github-actions[bot]
b677c7b1cb chore: Update NAPI-RS binaries for all platforms
Built from commit baf75513d1

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 17:59:49 +00:00
github-actions[bot]
8710ccc1d3 chore: Update NAPI-RS binaries for all platforms
Built from commit 0c28352e5c

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-20 17:25:10 +00:00
github-actions[bot]
b02635cd25 chore: Update NAPI-RS binaries for all platforms
Built from commit 358a04f8d2

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-14 22:20:12 +00:00
github-actions[bot]
968d3525f8 chore: Update NAPI-RS binaries for all platforms
Built from commit 660be0466f

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-14 21:52:02 +00:00
github-actions[bot]
b03fcebb65 chore: Update NAPI-RS binaries for all platforms
Built from commit 7ded427ec9

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-14 21:48:07 +00:00
github-actions[bot]
9ba85b5704 chore: Update NAPI-RS binaries for all platforms
Built from commit dae7a4aa4c

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 22:42:56 +00:00
github-actions[bot]
0e612f17a0 chore: Update NAPI-RS binaries for all platforms
Built from commit 297b7278df

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 21:53:24 +00:00
github-actions[bot]
5071a4da54 chore: Update NAPI-RS binaries for all platforms
Built from commit 3e40ae1fa0

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 21:33:29 +00:00
github-actions[bot]
7fbbc51fd6 chore: Update NAPI-RS binaries for all platforms
Built from commit 793175fc5f

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 21:16:56 +00:00
github-actions[bot]
ddbfee4c87 chore: Update NAPI-RS binaries for all platforms
Built from commit ee1e0b6508

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 20:09:40 +00:00
github-actions[bot]
2f059c0e61 chore: Update NAPI-RS binaries for all platforms
Built from commit 876f231777

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 19:08:16 +00:00
github-actions[bot]
8b096ea25d chore: Update NAPI-RS binaries for all platforms
Built from commit 325d0e8cde

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-13 16:06:50 +00:00
BAS-More
c6579f6eed security: add npm overrides for vulnerable transitive dependencies
Pins node-forge>=1.4.0, flatted>=3.3.3, picomatch>=4.0.3,
lodash>=4.17.22, brace-expansion>=2.0.2 via package.json overrides
to resolve Dependabot alerts downstream in BAS-More/RuView.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-13 15:42:02 +10:00
JLMA-Agentic-Ai
2861f4651e fix(esm): add .js extensions to dist module specifiers for Node.js ESM compatibility
Node.js ESM resolution requires explicit file extensions in relative imports.
The bare `./index`, `./dag`, and `./storage` specifiers in src/index.ts and
src/node.ts cause ERR_MODULE_NOT_FOUND when the package is consumed from an
ESM context with `"type": "module"`.

Fixes: https://github.com/ruvnet/ruvector/issues (reported via @nwj patch-package workaround)
2026-04-10 16:39:45 +00:00
github-actions[bot]
608704fde8 chore: Update NAPI-RS binaries for all platforms
Built from commit 76679927c8

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-08 18:33:55 +00:00
github-actions[bot]
7f547676a0 chore: Update NAPI-RS binaries for all platforms
Built from commit 23684ed1b9

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-08 17:28:26 +00:00
github-actions[bot]
f24e6de568 chore: Update NAPI-RS binaries for all platforms
Built from commit d6083e98b7

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 02:25:46 +00:00
github-actions[bot]
d1520a71d9 chore: Update NAPI-RS binaries for all platforms
Built from commit 849356378a

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 02:22:47 +00:00
Reuven
849356378a feat(ruvector): integrate @ruvector/diskann as optional peerDep
- diskann-wrapper.ts: lazy-load wrapper with type conversion
- Re-export DiskAnnIndex from core/index.ts
- Add @ruvector/diskann as optional peerDependency
- Update ADR-143: DiskANN fully implemented (not removed)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-06 22:16:06 -04:00
github-actions[bot]
54f56e3216 chore: Update NAPI-RS binaries for all platforms
Built from commit d9f34ed143

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 01:47:31 +00:00
github-actions[bot]
4deebf621d chore: Update NAPI-RS binaries for all platforms
Built from commit d9f34ed143

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 01:47:07 +00:00
github-actions[bot]
76533bfc4f chore: Update NAPI-RS binaries for all platforms
Built from commit 073f0749a7

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 01:30:10 +00:00
github-actions[bot]
b679820fd2 chore: Update NAPI-RS binaries for all platforms
Built from commit 5e8b0815de

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-07 01:24:59 +00:00
github-actions[bot]
ff5c5f47f0 chore: Update NAPI-RS binaries for all platforms
Built from commit 64d3486727

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-04-06 22:08:40 +00:00