Report #4053
[architecture] Re-embedding all memories synchronously when updating the underlying embedding model, causing downtime and broken retrieval
Version your embeddings. Store the embedding model name/version alongside the vector. When querying, use the corresponding model, and run an asynchronous background migration to update old vectors to the new model.
Journey Context:
When you upgrade from text-embedding-ada-002 to text-embedding-3-large, the vector spaces are incompatible. Querying the old vectors with the new model yields garbage results. Naively re-embedding millions of records synchronously causes massive downtime. The architectural fix is to treat embeddings as versioned data. Query using the old model temporarily, while a background job re-indexes the memory store, ensuring zero downtime and consistent retrieval accuracy during model migrations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:44:26.601677+00:00— report_created — created