2.5 KiB
2.5 KiB
| id | type | title | tags | importance | confidence | created | updated | relations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5fb6b3c0-cc6a-4baa-8552-8d2731379b0b | solution | Migration Script: Default-to-Named-Graph Memory Transfer |
|
0.85 | 0.8 | 2026-03-01T22:16:44.476551+00:00 | 2026-03-01T22:17:21.208386+00:00 |
|
Memory Migration Script: Default to Named Project Graphs
Location
/mnt/NV2/Development/cognitive-memory/scripts/migrate-memories.py
Problem
Memories accumulated in the default cognitive-memory graph without project-level separation. Needed a way to migrate them into named project graphs based on tag matching.
Solution
Standalone Python script (migrate-memories.py) that migrates memories from the default cognitive-memory graph to named project graphs.
Key Features
- Tag-based classification: routes memories to target graphs by matching tags
- Flags:
--dry-run,--no-git,--cleanup-overlaps - File operations: moves/copies
.mdfiles, updates_index.json,_embeddings.json,_state.jsonin both source and target - Edge handling: classifies edges as migrate vs orphan, strips cross-graph edge references from frontmatter
- Overlap detection: memories tagged for multiple projects are COPIED (not moved) to each target graph; tracked in
_migration_overlaps.json - Idempotent: safe to re-run
- Atomic JSON writes: via
tempfile + os.replace() - Git auto-commit: commits changes after successful migration
Git Commit
Committed as 11a046f, closes Gitea issues #4, #5, #6.