claude-memory/graph/decisions/overlap-memories-duplicated-to-both-target-graphs-during-mig-e30109.md

1.7 KiB

id type title tags importance confidence created updated relations
e301095c-7d4c-45d8-8352-9491e4ad6603 decision Overlap Memories Duplicated to Both Target Graphs During Migration
cognitive-memory
migration
multi-graph
decision
overlap
0.7 0.8 2026-03-01T22:16:56.955400+00:00 2026-03-01T22:16:57.253418+00:00
target type direction strength edge_id
9eb16f9f-c825-4233-b64f-d0acd140374a RELATED_TO outgoing 0.75 6ebdc346-ae42-41d4-b744-472ca17b7e74
target type direction strength edge_id
d0d1a325-a308-474a-baf7-6939a76a136b RELATED_TO outgoing 0.75 36a8e59c-08c6-4efe-b154-6277ea5cf1e7
target type direction strength edge_id
9ea72015-0b85-4a42-9ae1-144866f8d86f BUILDS_ON outgoing 0.73 2eee0082-215a-41b9-90bc-ea2d757138ff

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