clawmem 0.10.7 → 0.11.2
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/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/package.json +2 -2
- package/src/clawmem.ts +352 -188
- package/src/hooks/context-surfacing.ts +8 -2
- package/src/llm.ts +107 -36
- package/src/mcp.ts +32 -12
- package/src/store.ts +373 -131
- package/src/worker-lease.ts +34 -0
- package/src/hermes/__pycache__/__init__.cpython-312.pyc +0 -0
package/AGENTS.md
CHANGED
|
@@ -523,7 +523,7 @@ The `memory_relations` table is populated by multiple independent sources:
|
|
|
523
523
|
|
|
524
524
|
**Graph traversal asymmetry:** `adaptiveTraversal()` traverses all edge types outbound (source→target) but only `semantic` and `entity` edges inbound (target→source). Temporal and causal edges are directional only.
|
|
525
525
|
|
|
526
|
-
**MPFP graph retrieval (v0.2.0):** Multi-Path Fact Propagation runs predefined meta-path patterns in parallel (`[semantic, semantic]`, `[entity, temporal]`, `[semantic, causal]`, etc.), fuses via RRF. Hop-synchronized edge cache batches DB queries per hop instead of per pattern. Forward Push with α=0.15 teleport probability bounds active nodes sublinearly. Tier 3 only (`query`/`intent_search`), not hooks. Patterns selected per MAGMA intent: WHY → `[semantic, causal]`, ENTITY → `[entity, semantic]`, WHEN → `[temporal, semantic]`.
|
|
526
|
+
**MPFP graph retrieval (v0.2.0):** Multi-Path Fact Propagation runs predefined meta-path patterns in parallel (`[semantic, semantic]`, `[entity, temporal]`, `[semantic, causal]`, etc.), fuses via **max-score** (best supporting path wins). Note: meta-path fusion is max-score, NOT RRF — Forward Push yields absolute propagation mass where magnitude carries signal, so rank-only fusion would discard the difference between a strong path hit and a barely-surviving tail hit (`src/graph-traversal.ts:413-425`). This is distinct from the `query`/`intent_search` *outer* retrieval, which does fuse BM25+vector via RRF. Hop-synchronized edge cache batches DB queries per hop instead of per pattern. Forward Push with α=0.15 teleport probability bounds active nodes sublinearly. Tier 3 only (`query`/`intent_search`), not hooks. Patterns selected per MAGMA intent: WHY → `[semantic, causal]`, ENTITY → `[entity, semantic]`, WHEN → `[temporal, semantic]`.
|
|
527
527
|
|
|
528
528
|
### When to Run `build_graphs`
|
|
529
529
|
|
|
@@ -546,7 +546,7 @@ User Query + optional intent hint
|
|
|
546
546
|
→ Temporal Extraction (regex date range from query: "last week", "March 2026" → WHERE modified_at BETWEEN filters)
|
|
547
547
|
→ BM25 Probe → Strong Signal Check (skip expansion if top hit ≥ 0.85 with gap ≥ 0.15; disabled when intent provided)
|
|
548
548
|
→ Query Expansion (LLM generates text variants; intent steers expansion prompt)
|
|
549
|
-
→ Parallel: BM25(original) + Vector(original) + BM25(
|
|
549
|
+
→ Parallel (typed routing): BM25(original) + Vector(original) + BM25(lex expansions) + Vector(vec/hyde expansions)
|
|
550
550
|
+ Temporal Proximity (date-range filtered, if temporal constraint extracted)
|
|
551
551
|
+ Entity Graph (conditional 1-hop entity walk from top seeds, if entity signals present)
|
|
552
552
|
→ Original query lists get positional 2× weight in RRF; expanded get 1×
|
package/CLAUDE.md
CHANGED
|
@@ -523,7 +523,7 @@ The `memory_relations` table is populated by multiple independent sources:
|
|
|
523
523
|
|
|
524
524
|
**Graph traversal asymmetry:** `adaptiveTraversal()` traverses all edge types outbound (source→target) but only `semantic` and `entity` edges inbound (target→source). Temporal and causal edges are directional only.
|
|
525
525
|
|
|
526
|
-
**MPFP graph retrieval (v0.2.0):** Multi-Path Fact Propagation runs predefined meta-path patterns in parallel (`[semantic, semantic]`, `[entity, temporal]`, `[semantic, causal]`, etc.), fuses via RRF. Hop-synchronized edge cache batches DB queries per hop instead of per pattern. Forward Push with α=0.15 teleport probability bounds active nodes sublinearly. Tier 3 only (`query`/`intent_search`), not hooks. Patterns selected per MAGMA intent: WHY → `[semantic, causal]`, ENTITY → `[entity, semantic]`, WHEN → `[temporal, semantic]`.
|
|
526
|
+
**MPFP graph retrieval (v0.2.0):** Multi-Path Fact Propagation runs predefined meta-path patterns in parallel (`[semantic, semantic]`, `[entity, temporal]`, `[semantic, causal]`, etc.), fuses via **max-score** (best supporting path wins). Note: meta-path fusion is max-score, NOT RRF — Forward Push yields absolute propagation mass where magnitude carries signal, so rank-only fusion would discard the difference between a strong path hit and a barely-surviving tail hit (`src/graph-traversal.ts:413-425`). This is distinct from the `query`/`intent_search` *outer* retrieval, which does fuse BM25+vector via RRF. Hop-synchronized edge cache batches DB queries per hop instead of per pattern. Forward Push with α=0.15 teleport probability bounds active nodes sublinearly. Tier 3 only (`query`/`intent_search`), not hooks. Patterns selected per MAGMA intent: WHY → `[semantic, causal]`, ENTITY → `[entity, semantic]`, WHEN → `[temporal, semantic]`.
|
|
527
527
|
|
|
528
528
|
### When to Run `build_graphs`
|
|
529
529
|
|
|
@@ -546,7 +546,7 @@ User Query + optional intent hint
|
|
|
546
546
|
→ Temporal Extraction (regex date range from query: "last week", "March 2026" → WHERE modified_at BETWEEN filters)
|
|
547
547
|
→ BM25 Probe → Strong Signal Check (skip expansion if top hit ≥ 0.85 with gap ≥ 0.15; disabled when intent provided)
|
|
548
548
|
→ Query Expansion (LLM generates text variants; intent steers expansion prompt)
|
|
549
|
-
→ Parallel: BM25(original) + Vector(original) + BM25(
|
|
549
|
+
→ Parallel (typed routing): BM25(original) + Vector(original) + BM25(lex expansions) + Vector(vec/hyde expansions)
|
|
550
550
|
+ Temporal Proximity (date-range filtered, if temporal constraint extracted)
|
|
551
551
|
+ Entity Graph (conditional 1-hop entity walk from top seeds, if entity signals present)
|
|
552
552
|
→ Original query lists get positional 2× weight in RRF; expanded get 1×
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawmem",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"description": "On-device memory layer for AI agents. Claude Code, OpenClaw, and Hermes. Hooks + MCP server + hybrid RAG search.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"clawmem": "
|
|
7
|
+
"clawmem": "bin/clawmem"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"bin/",
|