--- id: e301095c-7d4c-45d8-8352-9491e4ad6603 type: decision title: "Overlap Memories Duplicated to Both Target Graphs During Migration" tags: [cognitive-memory, migration, multi-graph, decision, overlap] importance: 0.7 confidence: 0.8 created: "2026-03-01T22:16:56.955400+00:00" updated: "2026-03-01T22:17:17.438067+00:00" relations: - target: 9eb16f9f-c825-4233-b64f-d0acd140374a type: RELATED_TO direction: outgoing strength: 0.75 edge_id: 6ebdc346-ae42-41d4-b744-472ca17b7e74 - target: d0d1a325-a308-474a-baf7-6939a76a136b type: RELATED_TO direction: outgoing strength: 0.75 edge_id: 36a8e59c-08c6-4efe-b154-6277ea5cf1e7 - target: 9ea72015-0b85-4a42-9ae1-144866f8d86f type: BUILDS_ON direction: outgoing strength: 0.73 edge_id: 2eee0082-215a-41b9-90bc-ea2d757138ff - target: 5fb6b3c0-cc6a-4baa-8552-8d2731379b0b type: RELATED_TO direction: outgoing strength: 0.9 edge_id: 1e0002c1-dc30-446e-bce3-f0a5e5b61663 - target: 2d6f02bc-5a7c-404d-a566-36107aaaf6e6 type: RELATED_TO direction: outgoing strength: 0.85 edge_id: ec7fd770-f40c-4fb0-b359-5284425e580d --- # Decision: Copy Overlap Memories to Multiple Target Graphs ## Context During migration of memories from default graph to named project graphs, some memories are tagged for multiple projects (e.g., both `major-domo` and `paper-dynasty`). ## Decision Overlap memories are **COPIED** (not moved) to each matching target graph. They remain in the default graph until all migrations complete, then the `--cleanup-overlaps` flag removes them from default. ## Rationale - Preserves memory context in both project graphs where it's relevant - Avoids data loss if migration is interrupted partway through - Keeps default graph clean after all targets are confirmed populated ## Implementation Details - Overlap tracking stored in `_migration_overlaps.json` - A memory is an overlap if it matches tag criteria for 2+ target graphs - Cleanup step verifies presence in all target graphs before deleting from default