superlocalmemory 2.8.0 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/ATTRIBUTION.md +50 -0
  2. package/CHANGELOG.md +8 -0
  3. package/README.md +24 -15
  4. package/api_server.py +23 -0
  5. package/bin/aider-smart +2 -2
  6. package/bin/slm +35 -15
  7. package/configs/continue-skills.yaml +4 -4
  8. package/docs/ARCHITECTURE.md +3 -3
  9. package/docs/CLI-COMMANDS-REFERENCE.md +18 -18
  10. package/docs/FRAMEWORK-INTEGRATIONS.md +4 -4
  11. package/docs/UNIVERSAL-INTEGRATION.md +15 -15
  12. package/install.sh +19 -4
  13. package/mcp_server.py +39 -4
  14. package/package.json +4 -2
  15. package/skills/slm-list-recent/SKILL.md +1 -1
  16. package/skills/slm-remember/SKILL.md +1 -1
  17. package/skills/slm-status/SKILL.md +1 -1
  18. package/skills/slm-switch-profile/SKILL.md +3 -3
  19. package/src/graph/graph_core.py +3 -3
  20. package/src/hnsw_index.py +10 -4
  21. package/src/lifecycle/lifecycle_engine.py +61 -8
  22. package/src/lifecycle/lifecycle_evaluator.py +38 -6
  23. package/src/mcp_tools_v28.py +4 -3
  24. package/src/memory-profiles.py +1 -0
  25. package/src/memory_store_v2.py +6 -1
  26. package/src/qualixar_attribution.py +139 -0
  27. package/src/qualixar_watermark.py +78 -0
  28. package/src/setup_validator.py +2 -2
  29. package/ui/index.html +152 -4
  30. package/ui/js/behavioral.js +276 -0
  31. package/ui/js/compliance.js +252 -0
  32. package/ui/js/init.js +10 -0
  33. package/ui/js/lifecycle.js +298 -0
  34. package/ui/js/profiles.js +4 -0
  35. package/ui_server.py +19 -0
  36. /package/bin/{superlocalmemoryv2:learning → superlocalmemoryv2-learning} +0 -0
  37. /package/bin/{superlocalmemoryv2:list → superlocalmemoryv2-list} +0 -0
  38. /package/bin/{superlocalmemoryv2:patterns → superlocalmemoryv2-patterns} +0 -0
  39. /package/bin/{superlocalmemoryv2:profile → superlocalmemoryv2-profile} +0 -0
  40. /package/bin/{superlocalmemoryv2:recall → superlocalmemoryv2-recall} +0 -0
  41. /package/bin/{superlocalmemoryv2:remember → superlocalmemoryv2-remember} +0 -0
  42. /package/bin/{superlocalmemoryv2:reset → superlocalmemoryv2-reset} +0 -0
  43. /package/bin/{superlocalmemoryv2:status → superlocalmemoryv2-status} +0 -0
package/ATTRIBUTION.md ADDED
@@ -0,0 +1,50 @@
1
+ # Attribution
2
+
3
+ ## SuperLocalMemory
4
+
5
+ **SuperLocalMemory** is part of the Qualixar research initiative — advancing agent development through research.
6
+
7
+ ### Creator
8
+
9
+ **Varun Pratap Bhardwaj** — Solution Architect & Original Creator
10
+ - GitHub: [@varun369](https://github.com/varun369)
11
+ - ORCID: 0009-0002-8726-4289
12
+
13
+ ### License
14
+
15
+ This software is licensed under the MIT License. See [LICENSE](LICENSE) for full terms.
16
+
17
+ ### Output Attribution
18
+
19
+ All tool outputs carry provenance metadata:
20
+
21
+ ```
22
+ Generated by SuperLocalMemory | Part of Qualixar
23
+ ```
24
+
25
+ Outputs may include:
26
+ - **Layer 1 (Visible):** Human-readable attribution in reports and exports.
27
+ - **Layer 2 (Cryptographic):** SHA-256 content hash and signature in the `_qualixar` metadata block.
28
+ - **Layer 3 (Steganographic):** Invisible zero-width character watermark in text outputs.
29
+
30
+ ### Verification
31
+
32
+ Output provenance can be verified programmatically:
33
+
34
+ ```python
35
+ from qualixar_attribution import QualixarSigner
36
+ is_valid = QualixarSigner.verify(signed_output)
37
+ ```
38
+
39
+ ### Research Initiative
40
+
41
+ Qualixar is a research platform for AI agent development tools. SuperLocalMemory is one of several research initiatives under the Qualixar umbrella. For more information, visit qualixar.com.
42
+
43
+ ### Third-Party Acknowledgments
44
+
45
+ SuperLocalMemory uses the following open-source libraries:
46
+ - scikit-learn (BSD-3-Clause) — TF-IDF vectorization and similarity search
47
+ - SQLite (Public Domain) — Local database storage
48
+ - NumPy (BSD-3-Clause) — Numerical operations
49
+
50
+ See [requirements.txt](requirements.txt) for the full dependency list.
package/CHANGELOG.md CHANGED
@@ -16,6 +16,14 @@ SuperLocalMemory V2 - Intelligent local memory system for AI coding assistants.
16
16
 
17
17
  ---
18
18
 
19
+ ## [2.8.2] - 2026-03-04
20
+
21
+ ### Fixed
22
+ - Windows compatibility for repository cloning (#7)
23
+ - Updated test assertions for v2.8 behavioral feature dimensions
24
+
25
+ ---
26
+
19
27
  ## [2.8.0] - 2026-02-26
20
28
 
21
29
  **Release Type:** Major Feature Release — "Memory That Manages Itself"
package/README.md CHANGED
@@ -38,7 +38,7 @@
38
38
  </p>
39
39
 
40
40
  <p align="center">
41
- <b>Created by <a href="https://github.com/varun369">Varun Pratap Bhardwaj</a></b> •
41
+ <b>A <a href="https://github.com/varun369">Qualixar</a> Product</b> · Created by <a href="https://github.com/varun369">Varun Pratap Bhardwaj</a> •
42
42
  <a href="https://github.com/sponsors/varun369">💖 Sponsor</a> •
43
43
  <a href="LICENSE">📜 MIT License</a>
44
44
  </p>
@@ -201,10 +201,10 @@ You: *sighs and explains everything again*
201
201
  npm install -g superlocalmemory
202
202
 
203
203
  # Save a memory
204
- superlocalmemoryv2:remember "Fixed auth bug - JWT tokens were expiring too fast, increased to 24h"
204
+ superlocalmemoryv2-remember "Fixed auth bug - JWT tokens were expiring too fast, increased to 24h"
205
205
 
206
206
  # Later, in a new session...
207
- superlocalmemoryv2:recall "auth bug"
207
+ superlocalmemoryv2-recall "auth bug"
208
208
  # ✓ Found: "Fixed auth bug - JWT tokens were expiring too fast, increased to 24h"
209
209
  ```
210
210
 
@@ -230,7 +230,7 @@ Both methods auto-detect and configure **17+ IDEs and AI tools** — Cursor, VS
230
230
  ### Verify Installation
231
231
 
232
232
  ```bash
233
- superlocalmemoryv2:status
233
+ superlocalmemoryv2-status
234
234
  # ✓ Database: OK (0 memories)
235
235
  # ✓ Graph: Ready
236
236
  # ✓ Patterns: Ready
@@ -343,7 +343,7 @@ Not another simple key-value store. SuperLocalMemory implements **cutting-edge m
343
343
 
344
344
  | Tool | Integration | How It Works |
345
345
  |------|-------------|--------------|
346
- | **Claude Code** | ✅ Skills + MCP | `/superlocalmemoryv2:remember` |
346
+ | **Claude Code** | ✅ Skills + MCP | `/superlocalmemoryv2-remember` |
347
347
  | **Cursor** | ✅ MCP + Skills | AI uses memory tools natively |
348
348
  | **Windsurf** | ✅ MCP + Skills | Native memory access |
349
349
  | **Claude Desktop** | ✅ MCP | Built-in support |
@@ -365,7 +365,7 @@ Not another simple key-value store. SuperLocalMemory implements **cutting-edge m
365
365
  - "Remember that we use this framework" just works
366
366
 
367
367
  2. **Skills & Commands** — For Claude Code, Continue.dev, Cody
368
- - `/superlocalmemoryv2:remember` in Claude Code
368
+ - `/superlocalmemoryv2-remember` in Claude Code
369
369
  - `/slm-remember` in Continue.dev and Cody
370
370
  - Familiar slash command interface
371
371
 
@@ -466,15 +466,15 @@ Auto-clustering discovers 6-7 natural topic communities from your memories.
466
466
 
467
467
  ```bash
468
468
  # Memory Operations
469
- superlocalmemoryv2:remember "content" --tags tag1,tag2 # Save memory
470
- superlocalmemoryv2:recall "search query" # Search
471
- superlocalmemoryv2:list # Recent memories
472
- superlocalmemoryv2:status # System health
469
+ superlocalmemoryv2-remember "content" --tags tag1,tag2 # Save memory
470
+ superlocalmemoryv2-recall "search query" # Search
471
+ superlocalmemoryv2-list # Recent memories
472
+ superlocalmemoryv2-status # System health
473
473
 
474
474
  # Profile Management
475
- superlocalmemoryv2:profile list # Show all profiles
476
- superlocalmemoryv2:profile create <name> # New profile
477
- superlocalmemoryv2:profile switch <name> # Switch context
475
+ superlocalmemoryv2-profile list # Show all profiles
476
+ superlocalmemoryv2-profile create <name> # New profile
477
+ superlocalmemoryv2-profile switch <name> # Switch context
478
478
 
479
479
  # Knowledge Graph
480
480
  python ~/.claude-memory/graph_engine.py build # Build graph
@@ -544,11 +544,20 @@ MIT License — use freely, even commercially. Just include the license.
544
544
 
545
545
  ## 👨‍💻 Author
546
546
 
547
- **Varun Pratap Bhardwaj** — Solution Architect
547
+ **Varun Pratap Bhardwaj** — Founder, Qualixar · Solution Architect
548
548
 
549
549
  [![GitHub](https://img.shields.io/badge/GitHub-@varun369-181717?style=flat-square&logo=github)](https://github.com/varun369)
550
550
 
551
- Building tools that make AI actually useful for developers.
551
+ Building the complete agent development platform at Qualixar — memory, testing, contracts, and security for AI agents.
552
+
553
+ ### Part of the Qualixar Agent Development Platform
554
+
555
+ SuperLocalMemory is part of **Qualixar**, a suite of open-source tools for building reliable AI agents:
556
+
557
+ | Product | What It Does |
558
+ |---------|-------------|
559
+ | **SuperLocalMemory** | Local-first AI agent memory |
560
+ | **SkillFortify** | Agent skill supply chain security |
552
561
 
553
562
  ---
554
563
 
package/api_server.py CHANGED
@@ -671,6 +671,29 @@ async def get_tree():
671
671
  }
672
672
 
673
673
 
674
+ # ============================================================================
675
+ # v2.8 Routes (graceful — don't fail if engines unavailable)
676
+ # ============================================================================
677
+
678
+ try:
679
+ from routes.lifecycle import router as lifecycle_router
680
+ app.include_router(lifecycle_router)
681
+ except ImportError:
682
+ pass
683
+
684
+ try:
685
+ from routes.behavioral import router as behavioral_router
686
+ app.include_router(behavioral_router)
687
+ except ImportError:
688
+ pass
689
+
690
+ try:
691
+ from routes.compliance import router as compliance_router
692
+ app.include_router(compliance_router)
693
+ except ImportError:
694
+ pass
695
+
696
+
674
697
  # ============================================================================
675
698
  # Server Startup
676
699
  # ============================================================================
package/bin/aider-smart CHANGED
@@ -35,11 +35,11 @@ echo ""
35
35
  if command -v slm &> /dev/null; then
36
36
  # Use slm command if available
37
37
  slm context > "$CONTEXT_FILE" 2>/dev/null || {
38
- "$SLM_DIR/bin/superlocalmemoryv2:recall" "$project" --limit 5 > "$CONTEXT_FILE" 2>/dev/null || true
38
+ "$SLM_DIR/bin/superlocalmemoryv2-recall" "$project" --limit 5 > "$CONTEXT_FILE" 2>/dev/null || true
39
39
  }
40
40
  else
41
41
  # Fallback to direct command
42
- "$SLM_DIR/bin/superlocalmemoryv2:recall" "$project" --limit 5 > "$CONTEXT_FILE" 2>/dev/null || true
42
+ "$SLM_DIR/bin/superlocalmemoryv2-recall" "$project" --limit 5 > "$CONTEXT_FILE" 2>/dev/null || true
43
43
  fi
44
44
 
45
45
  # Get coding patterns if available
package/bin/slm CHANGED
@@ -6,7 +6,7 @@
6
6
  # Licensed under MIT License
7
7
  #
8
8
  # This is a CONVENIENCE wrapper. Original commands still work:
9
- # superlocalmemoryv2:remember, superlocalmemoryv2:recall, etc.
9
+ # superlocalmemoryv2-remember, superlocalmemoryv2-recall, etc.
10
10
 
11
11
  set -e
12
12
 
@@ -24,13 +24,13 @@ case "$1" in
24
24
  remember|save|store)
25
25
  shift
26
26
  # Calls existing command - no duplicate logic
27
- "$SLM_DIR/bin/superlocalmemoryv2:remember" "$@"
27
+ "$SLM_DIR/bin/superlocalmemoryv2-remember" "$@"
28
28
  ;;
29
29
 
30
30
  recall|search|find)
31
31
  shift
32
32
  # Calls existing command - no duplicate logic
33
- "$SLM_DIR/bin/superlocalmemoryv2:recall" "$@"
33
+ "$SLM_DIR/bin/superlocalmemoryv2-recall" "$@"
34
34
  ;;
35
35
 
36
36
  list|ls)
@@ -38,27 +38,44 @@ case "$1" in
38
38
  # Convert positional number to --limit flag
39
39
  # e.g., "slm list 5" becomes "--limit 5"
40
40
  if [ -n "$1" ] && [[ "$1" =~ ^[0-9]+$ ]]; then
41
- "$SLM_DIR/bin/superlocalmemoryv2:list" --limit "$1"
41
+ "$SLM_DIR/bin/superlocalmemoryv2-list" --limit "$1"
42
42
  else
43
- "$SLM_DIR/bin/superlocalmemoryv2:list" "$@"
43
+ "$SLM_DIR/bin/superlocalmemoryv2-list" "$@"
44
44
  fi
45
45
  ;;
46
46
 
47
47
  status|info|stats)
48
48
  # Calls existing command - no duplicate logic
49
- "$SLM_DIR/bin/superlocalmemoryv2:status"
49
+ "$SLM_DIR/bin/superlocalmemoryv2-status"
50
50
  ;;
51
51
 
52
52
  profile)
53
53
  shift
54
54
  # Calls existing command - no duplicate logic
55
- "$SLM_DIR/bin/superlocalmemoryv2:profile" "$@"
55
+ "$SLM_DIR/bin/superlocalmemoryv2-profile" "$@"
56
+ ;;
57
+
58
+ switch-profile)
59
+ shift
60
+ # Convenience alias: "slm switch-profile <name>" -> "slm profile switch <name>"
61
+ "$SLM_DIR/bin/superlocalmemoryv2-profile" switch "$@"
62
+ ;;
63
+
64
+ list-profiles)
65
+ # Convenience alias: "slm list-profiles" -> "slm profile list"
66
+ "$SLM_DIR/bin/superlocalmemoryv2-profile" list
67
+ ;;
68
+
69
+ create-profile)
70
+ shift
71
+ # Convenience alias: "slm create-profile <name>" -> "slm profile create <name>"
72
+ "$SLM_DIR/bin/superlocalmemoryv2-profile" create "$@"
56
73
  ;;
57
74
 
58
75
  reset)
59
76
  shift
60
77
  # Calls existing command - no duplicate logic
61
- "$SLM_DIR/bin/superlocalmemoryv2:reset" "$@"
78
+ "$SLM_DIR/bin/superlocalmemoryv2-reset" "$@"
62
79
  ;;
63
80
 
64
81
  ui|dashboard)
@@ -86,7 +103,7 @@ case "$1" in
86
103
  context)
87
104
  # NEW: Get context for current directory/project
88
105
  project=$(basename "$PWD")
89
- "$SLM_DIR/bin/superlocalmemoryv2:recall" "$project" --limit 5
106
+ "$SLM_DIR/bin/superlocalmemoryv2-recall" "$project" --limit 5
90
107
  ;;
91
108
 
92
109
  graph)
@@ -310,6 +327,9 @@ PROFILE MANAGEMENT:
310
327
  slm profile switch <name> Switch to profile
311
328
  slm profile delete <name> Delete profile
312
329
  slm profile current Show current profile
330
+ slm switch-profile <name> Shortcut for profile switch
331
+ slm list-profiles Shortcut for profile list
332
+ slm create-profile <name> Shortcut for profile create
313
333
 
314
334
  KNOWLEDGE GRAPH:
315
335
  slm graph build Build/rebuild knowledge graph
@@ -341,12 +361,12 @@ ADVANCED:
341
361
  slm reset hard --confirm Hard reset (nuclear option)
342
362
 
343
363
  ORIGINAL COMMANDS (still work):
344
- superlocalmemoryv2:remember <content>
345
- superlocalmemoryv2:recall <query>
346
- superlocalmemoryv2:list [N]
347
- superlocalmemoryv2:status
348
- superlocalmemoryv2:profile <command>
349
- superlocalmemoryv2:reset <type>
364
+ superlocalmemoryv2-remember <content>
365
+ superlocalmemoryv2-recall <query>
366
+ superlocalmemoryv2-list [N]
367
+ superlocalmemoryv2-status
368
+ superlocalmemoryv2-profile <command>
369
+ superlocalmemoryv2-reset <type>
350
370
 
351
371
  EXAMPLES:
352
372
  slm remember "Use FastAPI for REST APIs" --tags python,backend
@@ -5,19 +5,19 @@
5
5
  slashCommands:
6
6
  - name: "slm-remember"
7
7
  description: "Save to SuperLocalMemory"
8
- run: "~/.claude-memory/bin/superlocalmemoryv2:remember \"{{input}}\""
8
+ run: "~/.claude-memory/bin/superlocalmemoryv2-remember \"{{input}}\""
9
9
 
10
10
  - name: "slm-recall"
11
11
  description: "Search SuperLocalMemory"
12
- run: "~/.claude-memory/bin/superlocalmemoryv2:recall \"{{input}}\""
12
+ run: "~/.claude-memory/bin/superlocalmemoryv2-recall \"{{input}}\""
13
13
 
14
14
  - name: "slm-list"
15
15
  description: "List recent memories"
16
- run: "~/.claude-memory/bin/superlocalmemoryv2:list"
16
+ run: "~/.claude-memory/bin/superlocalmemoryv2-list"
17
17
 
18
18
  - name: "slm-status"
19
19
  description: "SuperLocalMemory system status"
20
- run: "~/.claude-memory/bin/superlocalmemoryv2:status"
20
+ run: "~/.claude-memory/bin/superlocalmemoryv2-status"
21
21
 
22
22
  # Usage in Continue.dev:
23
23
  # /slm-remember Use FastAPI for REST APIs
@@ -61,7 +61,7 @@ Simple Storage → Intelligent Organization → Adaptive Learning
61
61
  │ • Continue.dev - MCP context providers │
62
62
  ├─────────────────────────────────────────────────────────────┤
63
63
  │ TIER 2: Skills & Commands │
64
- │ • Claude Code - /superlocalmemoryv2:*
64
+ │ • Claude Code - /superlocalmemoryv2-*
65
65
  │ • Continue.dev - /slm-* slash commands │
66
66
  │ • Cody - Custom commands via settings │
67
67
  ├─────────────────────────────────────────────────────────────┤
@@ -148,8 +148,8 @@ Installation automatically detects and configures:
148
148
  Provides simple syntax for all operations:
149
149
 
150
150
  ```bash
151
- slm remember "content" # Calls superlocalmemoryv2:remember
152
- slm recall "query" # Calls superlocalmemoryv2:recall
151
+ slm remember "content" # Calls superlocalmemoryv2-remember
152
+ slm recall "query" # Calls superlocalmemoryv2-recall
153
153
  slm list # Recent memories
154
154
  slm status # System health
155
155
  slm profile list # Profile management
@@ -6,7 +6,7 @@
6
6
 
7
7
  SuperLocalMemory V2 offers three access methods:
8
8
  1. **Universal CLI** - Simple `slm` commands (NEW in v2.1.0)
9
- 2. **Original CLI** - Full `superlocalmemoryv2:*` commands
9
+ 2. **Original CLI** - Full `superlocalmemoryv2-*` commands
10
10
  3. **MCP/Skills** - IDE-specific integration (auto-configured)
11
11
 
12
12
  All methods use the same local SQLite database.
@@ -105,9 +105,9 @@ All original commands continue to work unchanged. Use these if you prefer explic
105
105
 
106
106
  ### Check System Status
107
107
  ```bash
108
- superlocalmemoryv2:status
108
+ superlocalmemoryv2-status
109
109
  # OR
110
- ~/.claude-memory/bin/superlocalmemoryv2:status
110
+ ~/.claude-memory/bin/superlocalmemoryv2-status
111
111
  ```
112
112
  Shows: total memories, graph stats, clusters, patterns, database size
113
113
 
@@ -119,38 +119,38 @@ Shows: total memories, graph stats, clusters, patterns, database size
119
119
 
120
120
  ### List All Profiles
121
121
  ```bash
122
- superlocalmemoryv2:profile list
122
+ superlocalmemoryv2-profile list
123
123
  # OR
124
- ~/.claude-memory/bin/superlocalmemoryv2:profile list
124
+ ~/.claude-memory/bin/superlocalmemoryv2-profile list
125
125
  ```
126
126
  Shows all profiles with active marker (→)
127
127
 
128
128
  ### Show Current Active Profile
129
129
  ```bash
130
- superlocalmemoryv2:profile current
130
+ superlocalmemoryv2-profile current
131
131
  # OR
132
- ~/.claude-memory/bin/superlocalmemoryv2:profile current
132
+ ~/.claude-memory/bin/superlocalmemoryv2-profile current
133
133
  ```
134
134
  Shows current profile details and memory count
135
135
 
136
136
  ### Create New Profile
137
137
  ```bash
138
138
  # Empty profile
139
- superlocalmemoryv2:profile create work --description "Work projects"
139
+ superlocalmemoryv2-profile create work --description "Work projects"
140
140
 
141
141
  # Copy from current profile
142
- superlocalmemoryv2:profile create personal --from-current
142
+ superlocalmemoryv2-profile create personal --from-current
143
143
  ```
144
144
 
145
145
  ### Switch Profile
146
146
  ```bash
147
- superlocalmemoryv2:profile switch work
147
+ superlocalmemoryv2-profile switch work
148
148
  ```
149
149
  **⚠️ Restart your IDE after switching if using MCP integration.**
150
150
 
151
151
  ### Delete Profile
152
152
  ```bash
153
- superlocalmemoryv2:profile delete old-project
153
+ superlocalmemoryv2-profile delete old-project
154
154
  ```
155
155
  - Cannot delete "default" profile
156
156
  - Cannot delete currently active profile
@@ -165,15 +165,15 @@ superlocalmemoryv2:profile delete old-project
165
165
  ```bash
166
166
  slm status
167
167
  # OR
168
- superlocalmemoryv2:status
168
+ superlocalmemoryv2-status
169
169
  ```
170
170
  **Always check status before any reset operation!**
171
171
 
172
172
  ### Soft Reset
173
173
  ```bash
174
- superlocalmemoryv2:reset soft
174
+ superlocalmemoryv2-reset soft
175
175
  # OR
176
- ~/.claude-memory/bin/superlocalmemoryv2:reset soft
176
+ ~/.claude-memory/bin/superlocalmemoryv2-reset soft
177
177
  ```
178
178
  - Clears all memories from current profile
179
179
  - Clears graph, patterns, tree structure
@@ -183,9 +183,9 @@ superlocalmemoryv2:reset soft
183
183
 
184
184
  ### Hard Reset
185
185
  ```bash
186
- superlocalmemoryv2:reset hard --confirm
186
+ superlocalmemoryv2-reset hard --confirm
187
187
  # OR
188
- ~/.claude-memory/bin/superlocalmemoryv2:reset hard --confirm
188
+ ~/.claude-memory/bin/superlocalmemoryv2-reset hard --confirm
189
189
  ```
190
190
  - ⚠️ **NUCLEAR OPTION** ⚠️
191
191
  - Deletes entire database file
@@ -195,9 +195,9 @@ superlocalmemoryv2:reset hard --confirm
195
195
 
196
196
  ### Layer Reset (Surgical)
197
197
  ```bash
198
- superlocalmemoryv2:reset layer --layers graph patterns
198
+ superlocalmemoryv2-reset layer --layers graph patterns
199
199
  # OR
200
- ~/.claude-memory/bin/superlocalmemoryv2:reset layer --layers graph patterns
200
+ ~/.claude-memory/bin/superlocalmemoryv2-reset layer --layers graph patterns
201
201
  ```
202
202
  Available layers:
203
203
  - `graph` - Clear graph nodes, edges, clusters
@@ -240,7 +240,7 @@ history.clear()
240
240
  chat_store.delete_messages("user-1")
241
241
 
242
242
  # CLI: Reset entire profile
243
- # superlocalmemoryv2:reset soft --profile customer-support
243
+ # superlocalmemoryv2-reset soft --profile customer-support
244
244
  ```
245
245
 
246
246
  ---
@@ -265,7 +265,7 @@ If you see "database is locked" errors:
265
265
 
266
266
  ```bash
267
267
  # Check if SuperLocalMemory is running correctly
268
- superlocalmemoryv2:status
268
+ superlocalmemoryv2-status
269
269
 
270
270
  # Restart any MCP servers
271
271
  # (Close and reopen Cursor/Windsurf)
@@ -277,10 +277,10 @@ If a profile doesn't exist:
277
277
 
278
278
  ```bash
279
279
  # List available profiles
280
- superlocalmemoryv2:profile list
280
+ superlocalmemoryv2-profile list
281
281
 
282
282
  # Create the profile
283
- superlocalmemoryv2:profile create work
283
+ superlocalmemoryv2-profile create work
284
284
  ```
285
285
 
286
286
  ---
@@ -33,7 +33,7 @@ After installation, restart any IDE you want to use SuperLocalMemory with.
33
33
 
34
34
  ### Step 3: Start Using It
35
35
  - **In Cursor/Windsurf:** Just talk naturally - "Remember that we use FastAPI for APIs"
36
- - **In Claude Code:** Use `/superlocalmemoryv2:remember` or the new `slm` commands
36
+ - **In Claude Code:** Use `/superlocalmemoryv2-remember` or the new `slm` commands
37
37
  - **In Terminal:** Use `slm remember "content"`
38
38
 
39
39
  ---
@@ -48,11 +48,11 @@ After installation, restart any IDE you want to use SuperLocalMemory with.
48
48
 
49
49
  **Usage:**
50
50
  ```
51
- /superlocalmemoryv2:remember "Use FastAPI for REST APIs"
52
- /superlocalmemoryv2:recall "FastAPI"
53
- /superlocalmemoryv2:list
54
- /superlocalmemoryv2:status
55
- /superlocalmemoryv2:profile list
51
+ /superlocalmemoryv2-remember "Use FastAPI for REST APIs"
52
+ /superlocalmemoryv2-recall "FastAPI"
53
+ /superlocalmemoryv2-list
54
+ /superlocalmemoryv2-status
55
+ /superlocalmemoryv2-profile list
56
56
  ```
57
57
 
58
58
  **OR use the simpler CLI:**
@@ -169,7 +169,7 @@ Continue's AI can also call memory tools directly.
169
169
  slashCommands:
170
170
  - name: "slm-remember"
171
171
  description: "Save to SuperLocalMemory"
172
- run: "~/.claude-memory/bin/superlocalmemoryv2:remember \"{{input}}\""
172
+ run: "~/.claude-memory/bin/superlocalmemoryv2-remember \"{{input}}\""
173
173
 
174
174
  # For MCP tools
175
175
  contextProviders:
@@ -293,7 +293,7 @@ ChatGPT: [calls fetch(42)]
293
293
 
294
294
  **Commands Installed:**
295
295
  - `slm` - Main command
296
- - All original `superlocalmemoryv2:*` commands still work
296
+ - All original `superlocalmemoryv2-*` commands still work
297
297
 
298
298
  **Usage:**
299
299
  ```bash
@@ -335,7 +335,7 @@ All access methods use the **SAME local SQLite database**:
335
335
  │ ACCESS METHODS │
336
336
  ├─────────────────────────────────────────────┤
337
337
  │ TIER 1: Skills │
338
- │ • Claude Code: /superlocalmemoryv2:*
338
+ │ • Claude Code: /superlocalmemoryv2-*
339
339
  │ • Continue: /slm-* │
340
340
  │ • Cody: /slm-* │
341
341
  ├─────────────────────────────────────────────┤
@@ -359,7 +359,7 @@ All access methods use the **SAME local SQLite database**:
359
359
  └───────────────────┘
360
360
  ```
361
361
 
362
- **Key Point:** No matter which method you use, all data goes to the same place. You can use `/superlocalmemoryv2:remember` in Claude Code, then `slm recall` in terminal, and see the same memories.
362
+ **Key Point:** No matter which method you use, all data goes to the same place. You can use `/superlocalmemoryv2-remember` in Claude Code, then `slm recall` in terminal, and see the same memories.
363
363
 
364
364
  ---
365
365
 
@@ -453,11 +453,11 @@ python3 ~/.claude-memory/mcp_server.py --transport http --port 8001
453
453
 
454
454
  | Old Command | Still Works? | New Alternative |
455
455
  |-------------|--------------|-----------------|
456
- | `superlocalmemoryv2:remember` | ✅ Yes | `slm remember` |
457
- | `superlocalmemoryv2:recall` | ✅ Yes | `slm recall` |
458
- | `superlocalmemoryv2:list` | ✅ Yes | `slm list` |
459
- | `superlocalmemoryv2:status` | ✅ Yes | `slm status` |
460
- | `superlocalmemoryv2:profile` | ✅ Yes | `slm profile` |
456
+ | `superlocalmemoryv2-remember` | ✅ Yes | `slm remember` |
457
+ | `superlocalmemoryv2-recall` | ✅ Yes | `slm recall` |
458
+ | `superlocalmemoryv2-list` | ✅ Yes | `slm list` |
459
+ | `superlocalmemoryv2-status` | ✅ Yes | `slm status` |
460
+ | `superlocalmemoryv2-profile` | ✅ Yes | `slm profile` |
461
461
 
462
462
  **Nothing breaks. Everything gains new capabilities.**
463
463
 
package/install.sh CHANGED
@@ -338,6 +338,21 @@ print('Database ready')
338
338
  " && echo "✓ Database initialized (fallback)"
339
339
  fi
340
340
 
341
+ # Run v2.8 schema migration (adds lifecycle columns to existing databases)
342
+ echo ""
343
+ echo "Running schema migration..."
344
+ cd "$INSTALL_DIR"
345
+ python3 -c "
346
+ import sys
347
+ sys.path.insert(0, '.')
348
+ try:
349
+ from memory_store_v2 import MemoryStoreV2
350
+ MemoryStoreV2()
351
+ print(' Schema migration complete')
352
+ except Exception as e:
353
+ print(f' Migration note: {e}')
354
+ " 2>/dev/null || echo " Migration will run on first use"
355
+
341
356
  # Install core dependencies (required for graph & dashboard)
342
357
  echo ""
343
358
  echo "Installing core dependencies..."
@@ -833,10 +848,10 @@ echo ""
833
848
  echo "Available commands (two ways to use them):"
834
849
  echo ""
835
850
  echo "OPTION 1: Original commands (still work):"
836
- echo " superlocalmemoryv2:remember - Save a new memory"
837
- echo " superlocalmemoryv2:recall - Search memories"
838
- echo " superlocalmemoryv2:list - List recent memories"
839
- echo " superlocalmemoryv2:status - Check system status"
851
+ echo " superlocalmemoryv2-remember - Save a new memory"
852
+ echo " superlocalmemoryv2-recall - Search memories"
853
+ echo " superlocalmemoryv2-list - List recent memories"
854
+ echo " superlocalmemoryv2-status - Check system status"
840
855
  echo ""
841
856
  echo "OPTION 2: New simple commands:"
842
857
  echo " slm remember <content> - Save (simpler syntax)"