fix(memories): make batch vector ops fault-tolerant, sync vectors on edit/delete-all#7102
Conversation
Greptile SummaryThis PR makes vector operations fault-tolerant across three memory endpoints: batch create now separates Firestore from Pinecone so a vector failure doesn't roll back saved memories; edit re-upserts the vector after updating Firestore; and delete-all collects memory IDs before wiping Firestore then bulk-deletes vectors in 1,000-ID chunks. The Confidence Score: 4/5Safe to merge with minor cleanup; no blocking defects in the changed paths. Only P2 findings remain: a dead unreachable break branch in the ID-collection loop and a redundant outer try/except that will never fire. The core fault-tolerant logic and chunking are correct. backend/routers/memories.py — the ID-collection loop and the outer try/except around delete_all_memory_vectors. Important Files Changed
Reviews (4): Last reviewed commit: "fix: P1 issues in delete_memories" | Re-trigger Greptile |
|
@greptile-apps re-review |
dd096c3 to
5e631b1
Compare
|
@greptile-apps re-review |
kodjima33
left a comment
There was a problem hiding this comment.
backend — approve only (DIRTY, author needs to rebase)
|
Thanks for this 🙏 — heads up that main has moved under this PR and it needs a manual rebase before it can land:
The still-valuable piece is the delete-all orphaned-vector cleanup. Could you rebase onto latest main and re-scope to just that (folding fault-tolerance into main's existing |
ee67a19 to
771b459
Compare
771b459 to
c56e183
Compare
|
hi @kodjima33 , made some changes. can you check it out? |
Summary
Fixes issue #7037 - Memories: batch vector upsert not fault-tolerant, edit/delete-all skip vector sync
Changes
Impact
Addresses all three failure modes:
Testing