@wipcomputer/memory-crystal 0.7.21 → 0.7.23

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.
package/CHANGELOG.md CHANGED
@@ -19,6 +19,61 @@
19
19
 
20
20
 
21
21
 
22
+ ## 0.7.23 (2026-03-15)
23
+
24
+ # Release Notes: Memory Crystal v0.7.23
25
+
26
+ **Date:** 2026-03-15
27
+
28
+ ## Search Quality v2 + MLX Local LLM
29
+
30
+ This release adds six search quality features ported from the QMD v2.0 analysis, plus the complete MLX local LLM infrastructure for Apple Silicon. Deep search is now disambiguatable, cacheable, debuggable, and can run entirely offline on Apple Silicon.
31
+
32
+ ### Intent parameter
33
+
34
+ Disambiguates queries without adding search terms. `crystal search "security" --intent "1Password"` steers results toward 1Password-related security instead of repo permissions or agent secrets. Intent flows through the expansion prompt (guides LLM variations), disables strong-signal bypass (keyword match might not be what the caller wants), and is prepended to the rerank query. Available via CLI `--intent` and MCP `intent`.
35
+
36
+ ### Persistent LLM cache
37
+
38
+ Expansion and reranking results are now cached in crystal.db (`llm_cache` table) with a 7-day TTL. Same query = instant on repeat searches. Reranking cache is content-addressable (keyed by query + sorted passage hashes), so identical content from different sessions shares cached scores. Configurable via `CRYSTAL_CACHE_TTL_DAYS` env var.
39
+
40
+ ### Explain mode
41
+
42
+ Per-result scoring breakdown showing FTS score, vector score, RRF rank, reranker score, recency weight, and final blended score. `crystal search "query" --explain`. Available via CLI `--explain` and MCP `explain`. Makes search quality transparent and debuggable.
43
+
44
+ ### candidateLimit
45
+
46
+ Tunable rerank pool size. `crystal search "query" --candidates 60`. Default stays 40. More candidates = better recall, slower reranking. Available via CLI `--candidates` and MCP `candidate_limit`.
47
+
48
+ ### Structured search API
49
+
50
+ `crystal.structuredSearch(queries)` accepts pre-expanded StructuredQuery[] with typed sub-queries (lex, vec, hyde). Skips LLM expansion entirely. Agents construct their own queries when they already know what they want. RRF fusion with first list weighted 2x.
51
+
52
+ ### MLX local LLM (Phase 3)
53
+
54
+ Complete auto-install infrastructure for running a local LLM on Apple Silicon:
55
+
56
+ - `crystal mlx setup` detects Apple Silicon, installs mlx-lm (uv > pip3 > pip3 --user), creates LaunchAgent for always-on server
57
+ - Model: `mlx-community/Qwen2.5-3B-Instruct-4bit` (~1.5 GB, fast on M-series)
58
+ - Port 18791 (18789 OpenClaw, 18790 Crystal Core, 18791 MLX)
59
+ - `crystal mlx status` and `crystal mlx stop` for server management
60
+ - `crystal doctor` check #13: MLX health (not installed / down / running)
61
+ - `crystal init` detects Apple Silicon and suggests MLX setup
62
+ - State file at `~/.ldm/state/mlx-server.json`
63
+
64
+ ### Also in this release
65
+
66
+ - QMD v2.0 analysis documented (`ai/product/notes/`)
67
+ - Search quality plan written (`ai/product/plans-prds/current/`)
68
+ - MLX plan moved from upcoming to current
69
+ - Stashed roadmap + readme-first updates recovered (PR #74)
70
+
71
+ Closes #57, #63, #64.
72
+
73
+ ## 0.7.22 (2026-03-14)
74
+
75
+ Remove standalone role
76
+
22
77
  ## 0.7.21 (2026-03-14)
23
78
 
24
79
  Fix install URL
package/README.md CHANGED
@@ -115,13 +115,37 @@ Run `ldm install` to see other components you can add.
115
115
 
116
116
  ## License
117
117
 
118
+ Dual-license model designed to keep tools free while preventing commercial resellers.
119
+
118
120
  ```
119
- src/core.ts, cli.ts, mcp-server.ts, skills/ MIT (use anywhere, no restrictions)
120
- src/worker.ts, src/worker-mcp.ts AGPL (relay + cloud server)
121
+ MIT All CLI tools, MCP servers, skills, and hooks (use anywhere, no restrictions).
122
+ AGPLv3 Commercial redistribution, marketplace listings, or bundling into paid services.
121
123
  ```
122
124
 
123
- AGPL for personal use is free.
125
+ AGPLv3 for personal use is free. Commercial licenses available.
126
+
127
+ ### Can I use this?
128
+
129
+ **Yes, freely:**
130
+ - Use any tool locally or on your own servers
131
+ - Modify the code for your own projects
132
+ - Include in your internal CI/CD pipelines
133
+ - Fork it and send us feedback via PRs (we'd love that)
134
+
135
+ **Need a commercial license:**
136
+ - Bundle into a product you sell
137
+ - List on a marketplace (Claude Marketplace, OAI GPT/Apps, Clawhub.ai, VS Code, etc.)
138
+ - Offer as part of a hosted/SaaS platform
139
+ - Redistribute commercially
124
140
 
125
- Built by Parker Todd Brooks, Lēsa (OpenClaw, Claude Opus 4.6), Claude Code CLI (Claude Opus 4.6).
141
+ Using these tools to build your own software is fine. Reselling the tools themselves is what requires a commercial license.
142
+
143
+ By submitting a PR, you agree to the [Contributor License Agreement](CLA.md).
144
+
145
+ ---
146
+
147
+ Built by Parker Todd Brooks, Lēsa (OpenClaw, Claude Opus 4.6), Claude Code (Claude Opus 4.6), GPT 5.x, Grok 4.20).
126
148
 
127
149
  Search architecture inspired by [QMD](https://github.com/tobi/qmd) by Tobi Lutke (MIT, 2024-2026).
150
+
151
+ *WIP.computer. Learning Dreaming Machines.*
@@ -0,0 +1,48 @@
1
+ # Release Notes: Memory Crystal v0.7.23
2
+
3
+ **Date:** 2026-03-15
4
+
5
+ ## Search Quality v2 + MLX Local LLM
6
+
7
+ This release adds six search quality features ported from the QMD v2.0 analysis, plus the complete MLX local LLM infrastructure for Apple Silicon. Deep search is now disambiguatable, cacheable, debuggable, and can run entirely offline on Apple Silicon.
8
+
9
+ ### Intent parameter
10
+
11
+ Disambiguates queries without adding search terms. `crystal search "security" --intent "1Password"` steers results toward 1Password-related security instead of repo permissions or agent secrets. Intent flows through the expansion prompt (guides LLM variations), disables strong-signal bypass (keyword match might not be what the caller wants), and is prepended to the rerank query. Available via CLI `--intent` and MCP `intent`.
12
+
13
+ ### Persistent LLM cache
14
+
15
+ Expansion and reranking results are now cached in crystal.db (`llm_cache` table) with a 7-day TTL. Same query = instant on repeat searches. Reranking cache is content-addressable (keyed by query + sorted passage hashes), so identical content from different sessions shares cached scores. Configurable via `CRYSTAL_CACHE_TTL_DAYS` env var.
16
+
17
+ ### Explain mode
18
+
19
+ Per-result scoring breakdown showing FTS score, vector score, RRF rank, reranker score, recency weight, and final blended score. `crystal search "query" --explain`. Available via CLI `--explain` and MCP `explain`. Makes search quality transparent and debuggable.
20
+
21
+ ### candidateLimit
22
+
23
+ Tunable rerank pool size. `crystal search "query" --candidates 60`. Default stays 40. More candidates = better recall, slower reranking. Available via CLI `--candidates` and MCP `candidate_limit`.
24
+
25
+ ### Structured search API
26
+
27
+ `crystal.structuredSearch(queries)` accepts pre-expanded StructuredQuery[] with typed sub-queries (lex, vec, hyde). Skips LLM expansion entirely. Agents construct their own queries when they already know what they want. RRF fusion with first list weighted 2x.
28
+
29
+ ### MLX local LLM (Phase 3)
30
+
31
+ Complete auto-install infrastructure for running a local LLM on Apple Silicon:
32
+
33
+ - `crystal mlx setup` detects Apple Silicon, installs mlx-lm (uv > pip3 > pip3 --user), creates LaunchAgent for always-on server
34
+ - Model: `mlx-community/Qwen2.5-3B-Instruct-4bit` (~1.5 GB, fast on M-series)
35
+ - Port 18791 (18789 OpenClaw, 18790 Crystal Core, 18791 MLX)
36
+ - `crystal mlx status` and `crystal mlx stop` for server management
37
+ - `crystal doctor` check #13: MLX health (not installed / down / running)
38
+ - `crystal init` detects Apple Silicon and suggests MLX setup
39
+ - State file at `~/.ldm/state/mlx-server.json`
40
+
41
+ ### Also in this release
42
+
43
+ - QMD v2.0 analysis documented (`ai/product/notes/`)
44
+ - Search quality plan written (`ai/product/plans-prds/current/`)
45
+ - MLX plan moved from upcoming to current
46
+ - Stashed roadmap + readme-first updates recovered (PR #74)
47
+
48
+ Closes #57, #63, #64.
@@ -10,7 +10,7 @@ interface InstallState {
10
10
  installedVersion: string | null;
11
11
  repoVersion: string;
12
12
  needsUpdate: boolean;
13
- role: 'core' | 'node' | 'standalone';
13
+ role: 'core' | 'node';
14
14
  relayKeyExists: boolean;
15
15
  }
16
16
  declare function detectInstallState(): InstallState;
package/dist/role.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- type CrystalRole = 'core' | 'node' | 'standalone';
1
+ type CrystalRole = 'core' | 'node';
2
2
  interface RoleState {
3
3
  role: CrystalRole;
4
4
  override: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/memory-crystal",
3
- "version": "0.7.21",
3
+ "version": "0.7.23",
4
4
  "description": "Sovereign memory system — local-first with ephemeral encrypted relay. Your memory, your machine, your rules.",
5
5
  "type": "module",
6
6
  "main": "dist/core.js",