memorix 1.9.0 → 1.9.1

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 (39) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +5 -1
  3. package/README.zh-CN.md +1 -1
  4. package/dist/cli/index.js +2508 -1843
  5. package/dist/index.js +2387 -1722
  6. package/dist/maintenance-runner.js +1686 -1031
  7. package/dist/media-audio-runner.js +2185 -1530
  8. package/dist/media-video-runner.js +2185 -1530
  9. package/dist/memcode-runtime/CHANGELOG.md +28 -0
  10. package/dist/sdk.js +2449 -1720
  11. package/dist/vector-backfill-runner.js +2183 -1528
  12. package/docs/CONFIGURATION.md +22 -0
  13. package/docs/DEVELOPMENT.md +2 -2
  14. package/docs/PERFORMANCE.md +77 -20
  15. package/docs/README.md +1 -1
  16. package/package.json +2 -1
  17. package/plugins/antigravity/memorix/plugin.json +1 -1
  18. package/plugins/claude/memorix/.claude-plugin/plugin.json +1 -1
  19. package/plugins/codebuddy/memorix/.codebuddy-plugin/plugin.json +1 -1
  20. package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
  21. package/plugins/copilot/memorix/plugin.json +1 -1
  22. package/plugins/gemini/memorix/gemini-extension.json +1 -1
  23. package/plugins/hermes/memorix/plugin.yaml +1 -1
  24. package/plugins/omp/memorix/package.json +1 -1
  25. package/plugins/openclaw/memorix/.codex-plugin/plugin.json +1 -1
  26. package/plugins/pi/memorix/package.json +1 -1
  27. package/server.json +2 -2
  28. package/src/compact/engine.ts +14 -4
  29. package/src/memory/freshness.ts +7 -4
  30. package/src/memory/observations.ts +118 -6
  31. package/src/runtime/vector-backfill-runner.ts +1 -1
  32. package/src/sdk.ts +13 -6
  33. package/src/search/semantic-index.ts +340 -0
  34. package/src/server.ts +1 -1
  35. package/src/store/obs-store.ts +54 -2
  36. package/src/store/orama-store.ts +300 -12
  37. package/src/store/sqlite-db.ts +6 -0
  38. package/src/store/sqlite-fts.ts +164 -0
  39. package/src/store/sqlite-store.ts +83 -6
package/CHANGELOG.md CHANGED
@@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.9.1] - 2026-09-08
8
+
9
+ ### Changed
10
+ - **Large-scale retrieval** -- SQLite FTS5 is now the persistent lexical
11
+ candidate index. It stays synchronized on insert, update, delete, and can be
12
+ rebuilt from the durable observations table.
13
+ - **Disk-backed semantic retrieval** -- the optional local LanceDB shadow index
14
+ stores only vector IDs and metadata, uses HNSW with scalar quantization once
15
+ the corpus is large enough, and fuses bounded semantic candidates with FTS5
16
+ results. Search falls back to Orama when the optional native package is not
17
+ available.
18
+ - **Lazy large-corpus startup** -- projects above the Orama hydration threshold
19
+ keep SQLite as the source of truth and do not load the complete observation
20
+ corpus into the interactive agent process. Detail, export, and maintenance
21
+ paths can still load the data they explicitly need.
22
+ - **Large-store acceptance** -- adds regression coverage and verified gates for
23
+ 1k, 10k, 40k, and 100k records without reducing the durable memory corpus.
24
+ - **Post-threshold vector writes** -- newly generated vectors still reach the
25
+ persistent semantic index after the in-memory Orama corpus is released.
26
+
27
+ ### Fixed
28
+ - **Stale lexical index on upsert** -- replace-style SQLite writes could leave
29
+ old terms in an external-content FTS index. Observation upserts now preserve
30
+ trigger-visible row updates so old terms are removed.
31
+ - **Optional native dependency bundling** -- LanceDB is resolved at runtime so
32
+ unsupported platforms or installations without its native binary continue
33
+ to build and use the FTS5/Orama fallback.
34
+
7
35
  ## [1.9.0] - 2026-09-07
8
36
 
9
37
  ### Added
package/README.md CHANGED
@@ -63,7 +63,11 @@ Use Claude Code today, Codex tomorrow, and Cursor in the afternoon. The agent ca
63
63
  | Static rule files drift | Gotchas, fixes, and project skills evolve from real work |
64
64
  | Parallel agent work gets messy | `memorix orchestrate` coordinates task context, handoffs, locks, verification, and review loops |
65
65
 
66
- Memorix is local-first. SQLite is the canonical store, Orama handles search, and LLM-backed formation/embedding is optional. Without model keys, Memorix still works with local full-text retrieval.
66
+ Memorix is local-first. SQLite is the canonical store. Small projects use the
67
+ in-process Orama path; larger projects use a persistent SQLite FTS5 candidate
68
+ index and, when available, an optional local LanceDB semantic shadow index.
69
+ Both indexes are rebuildable and are never a limit on how many durable memories
70
+ you can keep. LLM-backed formation and embedding remain optional.
67
71
 
68
72
  ### Capabilities
69
73
 
package/README.zh-CN.md CHANGED
@@ -62,7 +62,7 @@ Memorix 给你已经在用的 AI 编程 Agent 加上一套共享、可检索的
62
62
  | 静态规则文件容易过期 | 坑点、修复和项目技能从真实工作中持续沉淀 |
63
63
  | 并行 Agent 工作容易乱 | `memorix orchestrate` 负责协调任务上下文、交接、文件锁、验证和 review 流程 |
64
64
 
65
- Memorix 是本地优先的。SQLite 是权威存储,Orama 负责搜索,LLM 记忆整理和 embedding 是可选能力。没有模型 key 时,Memorix 仍然可以用本地全文检索工作。
65
+ Memorix 是本地优先的。SQLite 是权威存储。小项目使用进程内 Orama;数据量较大时,关键词检索使用持久化的 SQLite FTS5 候选索引,并在可用时使用本地 LanceDB 语义影子索引。索引都可以重建,也不会限制你能长期保存多少条记忆。LLM 记忆整理和 embedding 仍然是可选能力。
66
66
 
67
67
  ### 能力矩阵
68
68