AgentDB 3.0.0-alpha.17 pins RVF 0.1.x and corrupts arbitrary string IDs
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 89
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
Versions
agentdb@3.0.0-alpha.17- Default nested dependency:
@ruvector/rvf@0.1.9 - Verified fixed dependency:
@ruvector/rvf@0.2.3 - Node 26.4.0, macOS arm64
Reproduction
Create a SelfLearningRvfBackend with learning: false, then insert four orthogonal vectors with these IDs:
[
'SKU-alpha',
'SKU-beta',
'12345',
'e17e8d3bddb7057a1fcef6e3489b1b85',
]
Self-query each vector and inspect getStatsAsync().count.
With AgentDB's default dependency tree, only 2 of 4 vectors were stored and the alphanumeric IDs collided at native ID 0.
I repeated the test in a clean install with an npm override forcing @ruvector/rvf@0.2.3. All IDs round-tripped exactly both before close and after reopening the RVF file.
Root cause
RVF 0.1.9's Node backend converts external IDs with Number(e.id), so arbitrary strings become NaN and ultimately collide.
RuVector commit 06493337726998047d025fc2b500f5844e6d60c0 fixed this by introducing a persistent string-to-i64 label map and released the fix in RVF 0.2.x. AgentDB's dependency range ^0.1.9 cannot select it.
Expected behavior
AgentDB should preserve UUID, hex, SKU-style, and other arbitrary string IDs across insert, query, close, and reopen.
Requested fix
- Bump AgentDB's direct
@ruvector/rvfdependency to^0.2.3or a newer compatible release. - Update the lockfile.
- Add a native close/reopen regression test using UUID/hex/alphanumeric IDs.
- Document that the RVF file and its
.idmap.jsonsidecar form one durability/backup unit.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the AgentDB package manifest and lockfile, then trace SelfLearningRvfBackend and its native RVF insert, query, and close/reopen flow. Reproduce the issue with UUID, hex, SKU-style, and numeric-looking IDs, and add the requested native regression test. Done means @ruvector/rvf is updated, IDs survive reopening, and the RVF file plus .idmap.json sidecar are documented as one backup unit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 70/100