Part of #4325.
Context
When --profile qdrant is active, RAG retrieval reads from Qdrant instead of the built-in pgvector/sqlite-vec path. Qdrant ships a native snapshot API, which should be preferred over re-embedding everything from scratch on the new host (re-embedding the full corpus is strictly more expensive and slower than restoring a snapshot).
Requirements
- Use Qdrant's own snapshot/restore mechanism (collection snapshot → transfer → restore on the new host), not a from-scratch reindex, as the primary path.
- Verify collection point-count and a small sample of vector IDs match between source and restored collection.
- Decide, and write down, whether a from-scratch reindex (the
rag-index-repo job, src/review/rag.ts) is an acceptable fallback if snapshot restore has problems — don't leave this as an unstated assumption.
Deliverables
Expected outcome
The new host's Qdrant is byte-for-byte equivalent to the current host's at time of snapshot, with a documented, deliberate answer for what happens if it isn't.
Effort
S
Part of #4325.
Context
When
--profile qdrantis active, RAG retrieval reads from Qdrant instead of the built-inpgvector/sqlite-vecpath. Qdrant ships a native snapshot API, which should be preferred over re-embedding everything from scratch on the new host (re-embedding the full corpus is strictly more expensive and slower than restoring a snapshot).Requirements
rag-index-repojob,src/review/rag.ts) is an acceptable fallback if snapshot restore has problems — don't leave this as an unstated assumption.Deliverables
Expected outcome
The new host's Qdrant is byte-for-byte equivalent to the current host's at time of snapshot, with a documented, deliberate answer for what happens if it isn't.
Effort
S