ruvnet / ruvnet/RuVector

Enforce embedding generation isolation during model memory migrations

Open
#973 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
4.5k
Forks
603
Avg merge
23h 32m
Merged PRs (30d)
59

Description

Finding

Does Your Agent's Memory Survive a Model Upgrade? A Controlled Study of Memory Portability (arXiv:2609.05339, submitted 2026-09-04) shows that memory portability depends strongly on representation. Across 48 synthetic histories and two open weight models below 10B parameters, fixed schema knowledge graph accuracy changes only +0.0004 ± 0.0020 after a writer swap, while model compressed notes move asymmetrically by +9.91 or -13.28 percentage points depending on migration direction. A 50/50 mixed embedding index recovers only 4.96 points versus 11.90 points from full reembedding. Store only repair of compressed notes fails a 90% recovery target in all 48 cases; retained raw source enables repair in 34 of 48 in one tested direction.

Evidence status: originating team measured, not independently reproduced by RuV.

RuV implication

Treat embedding space identity as a hard storage boundary, not metadata that callers can ignore. A model or embedding upgrade must never silently mix vector generations inside one retrieval surface.

Proposed experiment

Add an EmbeddingGeneration identity containing provider, model, dimensions, normalization policy, tokenizer or preprocessing digest, quantization policy, and schema version. Bind every persisted vector and index segment to exactly one generation. Mixed generation search must either reject or route to independently searched generation shards followed by an explicit score calibration layer.

Benchmark four arms under identical histories and queries:

  1. current migration behavior
  2. 50/50 mixed generation index
  3. generation isolated dual search with calibration
  4. full reembedding

Retain source evidence digests needed for repair and record migration direction explicitly.

Metrics

Recall@10, NDCG, exact answer accuracy, migration time, index size, write amplification, query p50 and p99, calibration error, cost, energy where measurable, source repair success, and rollback duration.

Promotion gate

No cross generation nearest neighbor comparison without explicit calibration. Candidate must recover at least 90% of full reembedding quality while reducing migration cost or downtime by at least 30%, keep p99 regression below 10%, preserve exact provenance to original source evidence, and support complete rollback to the previous generation.

Contradiction

If full reembedding is already cheap enough for normal RuV index sizes, a dual generation system creates unnecessary complexity and stale state. Full reembedding remains the default baseline and rollback.

No autonomous merge, deployment, or irreversible index migration.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points; first locate the current model-memory migration, persisted vector, and index-search paths in the Rust codebase. Read the existing migration behavior and determine how the four benchmark arms can be measured. Done means generation isolation, provenance and rollback are implemented and the stated quality, cost, latency, and recovery promotion gates are evaluated.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ai, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.