diff --git a/src/resources/extensions/sf/memory-store.ts b/src/resources/extensions/sf/memory-store.ts index 90dd31611..4951b0a21 100644 --- a/src/resources/extensions/sf/memory-store.ts +++ b/src/resources/extensions/sf/memory-store.ts @@ -343,12 +343,22 @@ export function reinforceMemory(id: string): boolean { /** * Mark a memory as superseded by another. + * + * Drops the superseded memory's embedding row too: loadAllEmbeddings() + * already filters by superseded_by IS NULL, so the row was dead weight + * — keeping it would just waste storage and confuse manual SQL audits. + * Best-effort: a missing/failed delete doesn't block the supersede. */ export function supersedeMemory(oldId: string, newId: string): boolean { if (!isDbAvailable()) return false; try { supersedeMemoryRow(oldId, newId, new Date().toISOString()); + try { + deleteMemoryEmbedding(oldId); + } catch { + // Orphaned embedding rows are harmless; supersede still succeeded. + } return true; } catch { return false;