hmem-mcp 7.2.2 → 7.2.4

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hmem-mcp",
3
- "version": "7.2.2",
4
- "description": "Humanlike memory for AI agentsMCP server with 5-level lazy-loaded SQLite memory",
3
+ "version": "7.2.4",
4
+ "description": "Persistent memory and agent lifecycle for Claude Codebecause sessions shouldn't start from zero.",
5
5
  "author": "Bumblebiber",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: hmem-activate
3
- description: Activate a project mid-session via load_project, then check for and fix misrouted O-entry exchanges. Use whenever the user says "aktiviere Projekt X", "lade Projekt X", "load project X", "wechsel zu Projekt X", or switches project context during a session.
3
+ description: Activate a project mid-session via load_project, then check for and fix misrouted O-entry exchanges. Use whenever the user says "aktiviere Projekt X", "lade Projekt X", "load project X", "wechsel zu Projekt X", or switches project context during a session. ALSO use when you are about to call load_project mid-session for any reason — even if the user didn't explicitly ask to switch projects.
4
4
  ---
5
5
 
6
6
  # hmem-activate
@@ -13,8 +13,8 @@ Use when the user switches to a different project mid-session.
13
13
  Before calling load_project, check which project is currently active. The active project is shown in every tool response as `Active project: PXXXX <name>`.
14
14
 
15
15
  Note:
16
- - **OLD_PROJECT**: currently active project ID (e.g. P0043)
17
- - **OLD_O**: corresponding O-entry (same seq: P0043 → O0043)
16
+ - **OLD_PROJECT**: currently active project ID (e.g. P0043) — or `none` if no project was active
17
+ - **OLD_O**: corresponding O-entry (same seq: P0043 → O0043) — if OLD_PROJECT = `none`, use **O0000** (catch-all for unattributed sessions)
18
18
  - **TARGET_PROJECT**: the project the user wants to switch to
19
19
  - **TARGET_O**: corresponding O-entry (e.g. P0048 → O0048)
20
20
 
@@ -138,6 +138,7 @@ git push
138
138
  | cli.ts (new commands) | **hmem-update** (new CLI commands for users), hmem-setup |
139
139
  | cli-checkpoint.ts | hmem-config (checkpoint docs), hmem-read (summary docs) |
140
140
  | cli-log-exchange.ts | hmem-setup (hook docs) |
141
- | cli-context-inject.ts | hmem-wipe, hmem-setup |
141
+ | cli-context-inject.ts | hmem-wipe, **hmem-setup**, **hmem-update** |
142
+ | cli-hook-startup.ts | **hmem-setup** (first-message context docs), **hmem-update** (user-visible behavior) |
142
143
  | Any new skill added | **hmem-update** (list of skills to sync) |
143
144
  | Any new user-visible behavior | **hmem-update** — always |
@@ -78,10 +78,10 @@ Script: `~/.claude/hooks/hmem-log-exchange.sh`
78
78
  Fires only after `/clear` (matcher: `"clear"`). Two hooks run in sequence:
79
79
 
80
80
  **a) `hmem context-inject`** — outputs `additionalContext` containing:
81
- - Last 20 user/assistant messages from the pre-clear transcript
82
- - Active project briefing (title + overview)
83
- - Recent O-entries (session logs) linked to the project
84
- - R-entries (rules)
81
+ - 5 most recently edited P-entries (one line each, active marked with `[*]`)
82
+ - Hint to call `read_memory({prefix:"P", titles_only:true})` for the full list
83
+ - All R-entries (rules, one line each)
84
+ - Footer with `load_project` call for the active project (if any)
85
85
  - Keeps the agent oriented after a context reset without a full `read_memory()` call.
86
86
 
87
87
  **b) `hmem deactivate`** — resets the active project for the new session:
@@ -370,6 +370,36 @@ Agents update L4 after every code change (enforced via `hmem-subagent` POST-TASK
370
370
 
371
371
  ---
372
372
 
373
+ ## Step 2k: v7.2.2 — Richer Session-Start Context + I-Entry Active Device Block
374
+
375
+ **Only needed when upgrading from < v7.2.2**
376
+
377
+ ### context-inject: 5 most recent projects instead of full list
378
+
379
+ `hmem context-inject` (SessionStart[clear] hook) now shows only the **5 most recently edited P-entries** instead of all projects. A hint is appended:
380
+ ```
381
+ (full list: read_memory({prefix:"P", titles_only:true}))
382
+ ```
383
+ No config change needed — automatic.
384
+
385
+ ### hook-startup: H-entry title fix
386
+
387
+ H-entries without a `title` field (entries whose content lives entirely in `level_1`) now display correctly. Previously they appeared as blank lines in the `--- Human context (H-entries) ---` block.
388
+
389
+ ### hook-startup: Active device block
390
+
391
+ The first-message context injection now includes a **`--- Active device (I00XX) ---`** block showing:
392
+ - I-entry body (L1) — device name, specs, IP
393
+ - All L2 section titles (Specs, OS, IP Address, Access, Services, Apps, Storage, Notes, Rules)
394
+ - For the **Apps** section: full L3 title list (installed software)
395
+ - Irrelevant L2/L3 nodes are filtered out
396
+
397
+ ### hook-startup: recent projects limit raised 3 → 5
398
+
399
+ The `--- Recent projects ---` block in the first-message injection now shows 5 most recently updated P-entries (was 3).
400
+
401
+ ---
402
+
373
403
  ## Step 3: Entry Migration
374
404
 
375
405
  Some versions introduce new data formats. Check if migration is needed: