{ "name": "memory-pruner", "description": "Optimize the memory graph, auto-cleanup stale entries, and maintain a healthy node count.", "tags": [ "memory", "graph", "cleanup", "optimization", "maintenance" ], "category": "system", "created": "2026-10-16T16:28:11.556Z", "updated": "2026-10-16T16:30:38.270Z", "content": "---\nname: memory-pruner\ndescription: Optimize the memory graph, auto-cleanup stale entries, and maintain a healthy node count.\ntags: [memory, graph, cleanup, optimization, maintenance]\ncategory: system\n---\n## Steps\n1. **Assess current state:**\n - world_model_query({question: \"memory\"}) — get node/edge counts\n - session_stats — check session history length\n - user_list — review stored profile keys\n\n2. **Identify stale memory:**\n - Check session logs >30 days old\n - Find user profile keys with null/empty values\n - Identify duplicate or contradictory facts\n\n3. **Prune session logs:**\n - Load old sessions: session_load(\"YYYY-MM-DD\")\n - Remove redundant entries with session_save(\"\")\n - Keep: recent (last 7 days), milestone sessions, key decisions\n\n4. **Clean user profile:**\n - user_list — show all keys\n - user_forget(key) for: temp values, one-time preferences, debugging keys\n - Keep: preferredModel, securityLevel, theme, etc.\n\n5. **Checkpoint management:**\n - checkpoint-list — find old/unnamed checkpoints\n - checkpoint-del for anything >14 days old\n - Keep: pre-major-update, pre-module-edit checkpoints\n\n6. **Final report:**\n - Show before/after node counts\n - List what was removed\n - Confirm healthy state achieved\n\n## Target metrics:\n- Memory graph: <50 nodes optimal\n- Session logs: <100 entries\n- User profile: <20 keys\n- Checkpoints: <10 active\n\n## When to use:\n- Monthly maintenance\n- Memory graph >60 nodes\n- System sluggishness reported\n- Before major updates\n" }