ruvector/npm/packages/rvf/tests
rUv 0649333772 fix(rvf): add string ID ↔ numeric label mapping to NodeBackend
NodeBackend.ingestBatch() passed string IDs directly to the N-API layer
via Number(e.id), which returns NaN for non-numeric strings (UUIDs, hex
hashes, etc.). The native Rust HNSW silently drops entries with NaN IDs,
causing silent data loss with no error signal.

Fix: Add a bidirectional string↔numeric mapping layer to NodeBackend,
following the same pattern used by HNSWLibBackend in AgentDB:
- resolveLabel(): allocates sequential i64 labels for string IDs
- query(): maps numeric labels back to original string IDs
- delete(): resolves string IDs to labels before calling native layer
- Mappings persisted to {path}.idmap.json sidecar file

Also fixes query() returning numeric labels instead of original string
IDs, and delete() silently failing for non-numeric IDs.

Bumps @ruvector/rvf from 0.1.9 → 0.2.0 (breaking fix).

Closes ruvnet/agentic-flow#114

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-22 17:51:44 +00:00
..
test-id-mapping.js fix(rvf): add string ID ↔ numeric label mapping to NodeBackend 2026-02-22 17:51:44 +00:00