@wipcomputer/memory-crystal 0.7.23 → 0.7.25

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,109 @@
19
19
 
20
20
 
21
21
 
22
+ ## 0.7.25 (2026-03-16)
23
+
24
+ # Release Notes: memory-crystal v0.7.25
25
+
26
+ Bump SKILL.md version and name to match package branding.
27
+
28
+ ## What changed
29
+
30
+ - SKILL.md version bumped from 0.4.0 to 0.7.24 (was stuck at the original version)
31
+ - SKILL.md name changed from `memory` to `wip-memory-crystal` (matches branded convention)
32
+ - Forces deploy to public repo, triggering auto-publish to wip.computer/install/
33
+
34
+ ## Why
35
+
36
+ The SKILL.md version was out of sync with the package version. The name didn't match the `wip-` branding convention used across all install files on wip.computer.
37
+
38
+ ## Issues closed
39
+
40
+ - #80
41
+
42
+ ## How to verify
43
+
44
+ ```bash
45
+ crystal --version
46
+ head -4 ~/.ldm/extensions/memory-crystal/skills/memory/SKILL.md
47
+ ```
48
+
49
+ ## 0.7.24 (2026-03-15)
50
+
51
+ # Dev Update: Search Quality v2 + MLX Local LLM
52
+
53
+ **Date:** 2026-03-15
54
+ **Author:** CC-Mini
55
+ **Session:** memory-crstal01 (continued from Mar 13-14)
56
+
57
+ ---
58
+
59
+ ## Summary
60
+
61
+ Six search quality features from QMD v2.0 analysis, plus MLX local LLM infrastructure for Apple Silicon. All coded, tested, merged. Not yet deployed.
62
+
63
+ ## What Shipped
64
+
65
+ ### Search Quality (PR #75)
66
+
67
+ 1. **Intent parameter.** Disambiguates queries without adding search terms. `crystal search "security" --intent "1Password"` steers toward 1Password results. Flows through expansion prompt (guides LLM variations), disables strong-signal bypass, prepended to rerank query. Available via CLI `--intent`, MCP `intent`.
68
+
69
+ 2. **candidateLimit.** Tunable rerank pool size. `crystal search "query" --candidates 60`. Default stays 40. More candidates = better recall, slower reranking. Available via CLI `--candidates`, MCP `candidate_limit`.
70
+
71
+ 3. **Explain mode.** 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`, MCP `explain`.
72
+
73
+ 4. **Persistent LLM cache.** `llm_cache` table in crystal.db. Expansion and reranking results cached with 7-day TTL. Content-addressable reranking (keyed by query + sorted passage hashes). Same query = instant on repeat searches. Configurable TTL via `CRYSTAL_CACHE_TTL_DAYS`.
74
+
75
+ 5. **Structured search API.** `crystal.structuredSearch(queries)` accepts pre-expanded StructuredQuery[] (lex, vec, hyde). Skips LLM expansion entirely. Agents construct their own queries when they know what they want. RRF fusion with first list weighted 2x.
76
+
77
+ ### MLX Local LLM (PR #76)
78
+
79
+ 6. **MLX auto-install.** New `src/mlx-setup.ts` with full setup flow:
80
+ - `detectPlatform()` ... Apple Silicon / Intel Mac / Linux / other
81
+ - `installMlxLm()` ... uv > pip3 > pip3 --user fallback chain
82
+ - `createLaunchAgent()` ... always-on MLX server via LaunchAgent
83
+ - `verifyServer()` ... 30s warmup wait for model loading
84
+ - `setupMlx()` ... full flow: detect, install, configure, start, verify
85
+
86
+ 7. **Crystal MLX CLI.** `crystal mlx setup/status/stop` subcommands.
87
+
88
+ 8. **Doctor check #13.** MLX health check with three states: not installed, installed but not running, running. Suggests fix for each.
89
+
90
+ 9. **Installer integration.** `crystal init` detects Apple Silicon and suggests `crystal mlx setup` when MLX is not installed.
91
+
92
+ 10. **Port 18791.** LDM service ports: 18789 (OpenClaw), 18790 (Crystal Core), 18791 (MLX LLM).
93
+
94
+ 11. **Model: Qwen 2.5 3B Instruct 4-bit.** `mlx-community/Qwen2.5-3B-Instruct-4bit`. ~1.5 GB, fast on M-series, good at instruction following for query expansion and relevance scoring.
95
+
96
+ ### Also
97
+
98
+ - QMD v2.0 analysis written (`ai/product/notes/2026-03-15--cc-mini--qmd-v2.0-analysis.md`)
99
+ - Search quality plan written (`ai/product/plans-prds/current/2026-03-15--cc-mini--search-quality-qmd-v2-port.md`)
100
+ - MLX plan moved from upcoming to current
101
+ - Stashed roadmap + readme-first updates recovered and committed (PR #74)
102
+ - README footer: QMD credit restored, CLA + dual license confirmed on both repos
103
+
104
+ ## Files Changed
105
+
106
+ | File | Change |
107
+ |------|--------|
108
+ | `src/search-pipeline.ts` | Intent support, candidateLimit param, explain traces, DeepSearchResult type |
109
+ | `src/llm.ts` | Intent in expansion prompt, persistent DB cache (expansion + reranking), setLLMCacheDb() |
110
+ | `src/core.ts` | llm_cache table schema, deepSearch options, structuredSearch() method, StructuredQuery type |
111
+ | `src/mcp-server.ts` | intent, candidate_limit, explain params on crystal_search, LLM cache DB wiring |
112
+ | `src/cli.ts` | --intent, --candidates, --explain flags, crystal mlx subcommand |
113
+ | `src/mlx-setup.ts` | **NEW** ... full MLX setup, doctor check, state management |
114
+ | `src/doctor.ts` | MLX health check (#13) |
115
+ | `src/installer.ts` | MLX detection in crystal init flow |
116
+
117
+ ## What This Enables
118
+
119
+ - **Free deep search.** MLX replaces OpenAI API calls for expansion + reranking. Zero cost per search.
120
+ - **Faster repeated searches.** Persistent cache means the LLM call happens once per unique query.
121
+ - **Smarter agent queries.** Structured search lets agents skip expansion when they know what they want.
122
+ - **Debuggable search.** Explain mode shows exactly why each result ranked where it did.
123
+ - **Offline search quality.** MLX works without internet. API fallback when MLX is down.
124
+
22
125
  ## 0.7.23 (2026-03-15)
23
126
 
24
127
  # Release Notes: Memory Crystal v0.7.23
@@ -0,0 +1,24 @@
1
+ # Release Notes: memory-crystal v0.7.25
2
+
3
+ Bump SKILL.md version and name to match package branding.
4
+
5
+ ## What changed
6
+
7
+ - SKILL.md version bumped from 0.4.0 to 0.7.24 (was stuck at the original version)
8
+ - SKILL.md name changed from `memory` to `wip-memory-crystal` (matches branded convention)
9
+ - Forces deploy to public repo, triggering auto-publish to wip.computer/install/
10
+
11
+ ## Why
12
+
13
+ The SKILL.md version was out of sync with the package version. The name didn't match the `wip-` branding convention used across all install files on wip.computer.
14
+
15
+ ## Issues closed
16
+
17
+ - #80
18
+
19
+ ## How to verify
20
+
21
+ ```bash
22
+ crystal --version
23
+ head -4 ~/.ldm/extensions/memory-crystal/skills/memory/SKILL.md
24
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/memory-crystal",
3
- "version": "0.7.23",
3
+ "version": "0.7.25",
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",
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: memory
2
+ name: wip-memory-crystal
3
3
  description: Search and manage the shared memory crystal. Use when user says "do you remember", "search memory", "remember this", "forget that", "memory status", "what do you know about", or needs to recall past discussions, store facts, or check what's in memory.
4
- version: 0.4.0
4
+ version: 0.7.24
5
5
  ---
6
6
 
7
7
  # Memory Crystal