memorix 0.7.10 → 0.8.0
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 +32 -0
- package/dist/cli/index.js +780 -190
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +1074 -446
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.8.0] — 2026-02-24
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Session Lifecycle Management** — 3 new MCP tools for cross-session context continuity:
|
|
9
|
+
- `memorix_session_start` — Start a coding session, auto-inject context from previous sessions (summaries + key observations). Previous active sessions are auto-closed.
|
|
10
|
+
- `memorix_session_end` — End a session with structured summary (Goal/Discoveries/Accomplished/Files format). Summary is injected into the next session.
|
|
11
|
+
- `memorix_session_context` — Manually retrieve session history and context (useful after compaction recovery).
|
|
12
|
+
- **Topic Key Upsert** — `memorix_store` now accepts an optional `topicKey` parameter. When an observation with the same `topicKey + projectId` already exists, it is **updated in-place** instead of creating a duplicate. `revisionCount` increments on each upsert. Prevents data bloat for evolving decisions, architecture docs, etc.
|
|
13
|
+
- **`memorix_suggest_topic_key` tool** — Suggests stable topic keys from type + title using family heuristics (`architecture/*`, `bug/*`, `decision/*`, `config/*`, `discovery/*`, `pattern/*`). Supports CJK characters.
|
|
14
|
+
- **Session persistence** — `sessions.json` with atomic writes and file locking for cross-process safety.
|
|
15
|
+
- **Observation fields** — `topicKey`, `revisionCount`, `updatedAt`, `sessionId` added to `Observation` interface.
|
|
16
|
+
- **30 new tests** — 16 session lifecycle tests + 14 topic key upsert tests (468 total).
|
|
17
|
+
|
|
18
|
+
### Improved
|
|
19
|
+
- **`storeObservation` API** — Now returns `{ observation, upserted }` instead of just `Observation`, enabling callers to distinguish new vs updated observations.
|
|
20
|
+
|
|
21
|
+
### Inspired by
|
|
22
|
+
- [Engram](https://github.com/alanbuscaglia/engram) — Session lifecycle design, topic_key upsert pattern, structured session summaries.
|
|
23
|
+
|
|
24
|
+
## [0.7.11] — 2026-02-24
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- **File locking & atomic writes** (`withFileLock`, `atomicWriteFile`) — Cross-process safe writes for `observations.json`, `graph.jsonl`, and `counter.json`. Uses `.memorix.lock` directory lock with stale detection (10s timeout) and write-to-temp-then-rename for crash safety.
|
|
28
|
+
- **Retention auto-archive** — `memorix_retention` tool now supports `action="archive"` to move expired observations to `observations.archived.json`. Reversible — archived memories can be restored manually.
|
|
29
|
+
- **Chinese entity extraction** — Entity extractor now recognizes Chinese identifiers in brackets (`「认证模块」`, `【数据库连接】`) and backticks, plus Chinese causal language patterns (因为/所以/由于/导致/决定/采用).
|
|
30
|
+
- **Graph-memory bidirectional sync** — Dashboard DELETE now cleans up corresponding `[#id]` references from knowledge graph entities. Prevents orphaned data.
|
|
31
|
+
|
|
32
|
+
### Improved
|
|
33
|
+
- **Search accuracy** — Added fuzzy tolerance, field boosting (title > entityName > concepts > narrative), lowered similarity threshold to 0.5, tuned hybrid weights (text 0.6, vector 0.4).
|
|
34
|
+
- **Auto-relations performance** — Entity lookups now use O(1) index (`Map`) instead of O(n) `find()` on every observation store. `KnowledgeGraphManager` maintains a `entityIndex` rebuilt on create/delete mutations.
|
|
35
|
+
- **Re-read-before-write** — `storeObservation` re-reads `observations.json` inside the lock before writing, merging concurrent changes instead of overwriting.
|
|
36
|
+
|
|
5
37
|
## [0.7.10] — 2026-02-24
|
|
6
38
|
|
|
7
39
|
### Added
|