@joshuaswarren/openclaw-engram 9.0.56 → 9.0.57

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/README.md CHANGED
@@ -26,10 +26,12 @@ That product thesis drives the roadmap order:
26
26
  AI agents forget everything between conversations. Engram fixes that.
27
27
 
28
28
  - **Automatic extraction** — Engram watches conversations and extracts facts, decisions, preferences, corrections, and more. No manual tagging required.
29
+ - **Explicit capture modes** — Run in `implicit`, `explicit`, or `hybrid` mode when memory writes need stricter consent, immediate explicit capture, or review-first handling.
29
30
  - **Smart recall** — Before each conversation, Engram injects the most relevant memories into the agent's context. Your agents remember what they need, when they need it.
30
31
  - **Local-first** — All memory data stays on your filesystem as plain markdown files. No cloud dependency, no vendor lock-in, fully portable.
31
32
  - **Pluggable search** — Choose from six search backends: QMD (hybrid BM25+vector+reranking), LanceDB, Meilisearch, Orama, remote HTTP, or bring your own.
32
- - **Memory OS features** — Graph recall, temporal memory tree, lifecycle policy, compounding, shared context, memory boxes, and identity continuity can be enabled progressively as your install grows.
33
+ - **External agent access** — Run a local authenticated HTTP API and a stdio MCP server so Codex, Claude Code, and scripts can query Engram without OpenClaw-specific glue.
34
+ - **Memory OS features** — Temporal memory tree, graph reasoning, lifecycle policy, compounding, shared context, memory boxes, and identity continuity can be enabled progressively as your install grows.
33
35
  - **Benchmark-first roadmap** — Engram now has an evaluation harness with live shadow recall recording and a CI benchmark delta gate, so memory improvements can be measured and regression-checked instead of argued from anecdotes.
34
36
  - **Baseline snapshot discipline** — Engram can now, when `benchmarkBaselineSnapshotsEnabled` is enabled, capture typed baseline snapshots of the latest completed benchmark runs so later PR delta reporting can compare candidates against a stable stored reference instead of an ad hoc branch state.
35
37
  - **Named baseline delta reporting** — Engram can now, when `benchmarkDeltaReporterEnabled` is enabled, compare the current eval store against a stored baseline snapshot, emit a machine-readable delta report plus markdown summary, and fail fast when a candidate regresses a benchmark that previously passed.
@@ -89,10 +91,33 @@ That's it. Start a conversation — Engram begins learning immediately.
89
91
  ## Verify Installation
90
92
 
91
93
  ```bash
92
- openclaw engram compat --strict # Should exit 0
93
- openclaw engram stats # Shows memory counts and search status
94
+ openclaw engram setup --json # Validates config, scaffolds directories, prints next steps
95
+ openclaw engram config-review --json # Opinionated config tuning recommendations + mismatches
96
+ openclaw engram doctor --json # Aggregated safe health diagnostics
97
+ openclaw engram inventory --json # Baseline memory/entity/storage footprint
94
98
  ```
95
99
 
100
+ ## Explicit Capture
101
+
102
+ Set `captureMode` to control how memories are created:
103
+
104
+ - `implicit`: normal extraction behavior.
105
+ - `explicit`: only structured explicit capture writes or queues review items.
106
+ - `hybrid`: explicit capture writes immediately and normal extraction still runs.
107
+
108
+ Prefer the `memory_capture` tool when tool use is available. In constrained runtimes, Engram also accepts an inline fallback block:
109
+
110
+ ```text
111
+ <memory_note>
112
+ category: decision
113
+ content: |
114
+ Recall benchmark packs live under state/evals/benchmarks/.
115
+ tags: benchmarks, evals
116
+ </memory_note>
117
+ ```
118
+
119
+ If the note fails direct-write policy, Engram sanitizes it and queues a `pending_review` memory instead of dropping it silently.
120
+
96
121
  ## How It Works
97
122
 
98
123
  Engram operates in three phases, running automatically in the background:
@@ -169,12 +194,24 @@ Engram's capabilities are organized into feature families that you can enable pr
169
194
 
170
195
  Start with defaults, then enable features as needed. See [Enable All Features](docs/enable-all-v8.md) for a full-feature config profile.
171
196
 
197
+ If you want a supported starting point for the advanced surface, set `memoryOsPreset` to one of `conservative`, `balanced`, `research-max`, or `local-llm-heavy`, then override only the few knobs you actually need.
198
+
199
+ For the full config surface, including the shipped default and a recommended value for every option, see [docs/config-reference.md](docs/config-reference.md).
200
+
172
201
  ## Agent & Operator Commands
173
202
 
174
203
  ```bash
175
204
  openclaw engram stats # Memory counts, search status, health
205
+ openclaw engram setup # Guided first-run setup + directory scaffolding
206
+ openclaw engram setup --preview-capture-instructions # Preview the managed explicit-capture snippet
207
+ openclaw engram setup --install-capture-instructions # Install or update the managed explicit-capture snippet
208
+ openclaw engram setup --remove-capture-instructions # Remove the managed explicit-capture snippet
209
+ openclaw engram config-review # Review current config and recommend higher-leverage settings
210
+ openclaw engram doctor # Aggregated setup/runtime diagnostics with remediation hints
211
+ openclaw engram inventory # Memory, namespace, review queue, storage, and native-knowledge inventory
176
212
  openclaw engram search "your query" # Search memories from CLI
177
213
  openclaw engram compat --strict # Compatibility check
214
+ openclaw engram benchmark recall # Status/validate/compare/snapshot recall benchmark artifacts
178
215
  openclaw engram benchmark-status # Benchmark/eval harness packs, runs, shadow recalls, latest summaries
179
216
  openclaw engram benchmark-validate <path> # Validate a benchmark manifest or pack directory
180
217
  openclaw engram benchmark-import <path> # Import a validated benchmark pack into the eval store
@@ -191,6 +228,12 @@ openclaw engram commitment-status # Commitment ledger counts and latest
191
228
  openclaw engram commitment-record # Record a typed commitment ledger entry
192
229
  openclaw engram commitment-set-state # Transition a commitment to open|fulfilled|cancelled|expired
193
230
  openclaw engram commitment-lifecycle-run # Expire overdue commitments and clean aged resolved entries
231
+ openclaw engram governance-run --mode shadow # Build review queue + audit artifacts without mutating memories
232
+ openclaw engram governance-run --mode apply # Apply reversible governance transitions and write restore metadata
233
+ openclaw engram governance-report # Read the latest or named governance artifact bundle
234
+ openclaw engram governance-restore --run-id <runId> # Restore one applied governance run
235
+ openclaw engram review-disposition <memoryId> --status rejected # Record an explicit operator review outcome
236
+ openclaw engram access http-serve --token "$OPENCLAW_ENGRAM_ACCESS_TOKEN" # Start the local access API + admin console shell
194
237
  openclaw engram work-product-status # Work-product ledger counts and latest recorded output
195
238
  openclaw engram work-product-record # Record a typed work-product ledger entry
196
239
  openclaw engram work-product-recall-search <query> # Preview reusable work products from the creation-memory ledger
@@ -199,11 +242,17 @@ openclaw engram utility-record # Record a typed utility-learning te
199
242
  openclaw engram utility-learning-status # Latest offline utility-learning snapshot and learned weight counts
200
243
  openclaw engram utility-learn # Learn bounded offline promotion/ranking weights from recorded utility events
201
244
  openclaw engram conversation-index-health # Conversation index status
245
+ openclaw engram rebuild-index # Operator-friendly alias for conversation-index-rebuild
202
246
  openclaw engram graph-health # Entity graph status
247
+ openclaw engram repair # Aggregate session repair planning + graph guidance
203
248
  openclaw engram tier-status # Hot/cold tier metrics
204
249
  openclaw engram policy-status # Lifecycle policy snapshot
205
250
  ```
206
251
 
252
+ Governance runs write durable artifacts under `{memoryDir}/state/memory-governance/runs/<runId>/`, including `summary.json`, `review-queue.json`, `kept-memories.json`, `applied-actions.json`, `metrics.json`, `manifest.json`, `report.md`, and `restore.json` for apply runs.
253
+
254
+ When the local HTTP access server is running, Engram also serves a lightweight operator UI shell at `http://127.0.0.1:4318/engram/ui/`. Paste the same bearer token into the console UI and it will use the authenticated `/engram/v1/...` endpoints for memory browsing, recall inspection, governance review, entity exploration, and maintenance status.
255
+
207
256
  ## Configuration
208
257
 
209
258
  All settings live in `openclaw.json` under `plugins.entries.openclaw-engram.config`. `openaiApiKey` is optional when local LLM or gateway fallback paths are available.
@@ -221,12 +270,11 @@ Key settings:
221
270
  | `evalShadowModeEnabled` | `false` | Record live recall decisions to the eval store without changing injected output |
222
271
  | `benchmarkBaselineSnapshotsEnabled` | `false` | Enable versioned baseline snapshot artifacts for the latest completed benchmark runs |
223
272
  | `benchmarkDeltaReporterEnabled` | `false` | Enable named-baseline delta reports against the current eval store |
224
-
225
- The repo's required benchmark check uses the committed fixture snapshot at
226
- `tests/fixtures/eval-ci/store/baselines/required-main.json` as the stable
227
- release baseline for PR gating. During the rollout PR that first introduces
228
- that file, the gate bootstraps from the candidate branch snapshot once; after
229
- that, PRs resolve the required baseline from the base branch checkout.
273
+ | `captureMode` | `implicit` | Memory write policy: `implicit`, `explicit`, or `hybrid` |
274
+ | `nativeKnowledge.enabled` | `false` | Enable curated workspace and synced native-knowledge recall without converting source docs into durable memory files |
275
+ | `nativeKnowledge.openclawWorkspace` | unset | Optional backend-agnostic adapter for OpenClaw workspace bootstrap docs, handoffs, daily summaries, and automation notes |
276
+ | `nativeKnowledge.obsidianVaults` | `[]` | Optional backend-agnostic Obsidian vault adapters that sync markdown notes, tags, aliases, links, and daily-note dates into native knowledge recall |
277
+ | `entityRetrievalEnabled` | `true` | Enable entity-oriented answer hints for direct entity questions and transcript-backed recent-turn pronoun follow-ups in the active recall namespace |
230
278
  | `evalStoreDir` | `{memoryDir}/state/evals` | Root directory for benchmark packs, run summaries, and shadow recall records |
231
279
  | `objectiveStateMemoryEnabled` | `false` | Enable the objective-state memory foundation for normalized world/tool state snapshots |
232
280
  | `objectiveStateSnapshotWritesEnabled` | `false` | Permit objective-state snapshot writers to persist typed state records |
@@ -259,24 +307,87 @@ that, PRs resolve the required baseline from the base branch checkout.
259
307
  | `workProductRecallEnabled` | `false` | Inject prompt-relevant work-product ledger entries into recall and expose `openclaw engram work-product-recall-search` |
260
308
  | `workProductLedgerDir` | `{memoryDir}/state/work-product-ledger` | Root directory for typed work-product ledger entries |
261
309
 
310
+ The repo's required benchmark check uses the committed fixture snapshot at
311
+ `tests/fixtures/eval-ci/store/baselines/required-main.json` as the stable
312
+ release baseline for PR gating. During the rollout PR that first introduces
313
+ that file, the gate bootstraps from the candidate branch snapshot once; after
314
+ that, PRs resolve the required baseline from the base branch checkout.
315
+
316
+ ### Native Knowledge Sync
317
+
318
+ Engram can search curated markdown files directly during recall without first extracting them into durable memory records. This keeps operator docs, handoff notes, and Obsidian content available as first-class recall sources while preserving the markdown files as the source of truth.
319
+
320
+ Example:
321
+
322
+ ```jsonc
323
+ {
324
+ "nativeKnowledge": {
325
+ "enabled": true,
326
+ "includeFiles": ["IDENTITY.md", "MEMORY.md", "TEAM.md"],
327
+ "openclawWorkspace": {
328
+ "enabled": true,
329
+ "bootstrapFiles": ["IDENTITY.md", "MEMORY.md", "USER.md"],
330
+ "handoffGlobs": ["handoffs/**/*.md"],
331
+ "dailySummaryGlobs": ["summaries/**/*.md"],
332
+ "automationNoteGlobs": ["automation/**/*.md"],
333
+ "sharedSafeGlobs": ["automation/shared/**/*.md"]
334
+ },
335
+ "obsidianVaults": [
336
+ {
337
+ "id": "personal",
338
+ "rootDir": "/Users/you/Documents/Obsidian",
339
+ "includeGlobs": ["**/*.md"],
340
+ "excludeGlobs": [".obsidian/**", "Templates/**"],
341
+ "namespace": "shared",
342
+ "privacyClass": "private",
343
+ "folderRules": [
344
+ { "pathPrefix": "Projects", "namespace": "work", "privacyClass": "team" }
345
+ ],
346
+ "dailyNotePatterns": ["Daily/YYYY-MM-DD", "YYYY-MM-DD"],
347
+ "materializeBacklinks": true
348
+ }
349
+ ]
350
+ }
351
+ }
352
+ ```
353
+
354
+ Direct `includeFiles` plus the OpenClaw workspace adapter both sync into backend-agnostic state under `{memoryDir}/state/native-knowledge`, preserve source metadata and deletion tombstones, and dedupe exact overlaps so bootstrap docs are not injected twice.
355
+
356
+ When an Obsidian vault adapter is enabled, Engram syncs active notes into backend-agnostic native-knowledge state under `{memoryDir}/state/native-knowledge`, preserves aliases, inline/frontmatter tags, wikilinks, optional backlinks, and daily-note dates, and then blends those chunks into the existing `Curated Workspace Knowledge` recall section with namespace filtering applied before injection.
357
+
262
358
  Full reference: [Config Reference](docs/config-reference.md)
263
359
 
360
+ Preset example:
361
+
362
+ ```jsonc
363
+ {
364
+ "memoryOsPreset": "balanced",
365
+ "localLlmEnabled": true,
366
+ "localLlmUrl": "http://localhost:1234/v1",
367
+ "localLlmModel": "qwen2.5-32b-instruct"
368
+ }
369
+ ```
370
+
264
371
  ## Documentation
265
372
 
266
373
  - [Getting Started](docs/getting-started.md) — Installation, setup, first-run verification
267
374
  - [Search Backends](docs/search-backends.md) — Choosing and configuring search engines
268
375
  - [Writing a Search Backend](docs/writing-a-search-backend.md) — Build your own adapter
269
376
  - [Config Reference](docs/config-reference.md) — Every setting with defaults
377
+ - [Local LLM Guide](docs/guides/local-llm.md) — Setup and tune local-first extraction/rerank flows
378
+ - [Cost Control Guide](docs/guides/cost-control.md) — Budget mappings, presets, and rollout discipline
379
+ - [Migration Guide](docs/guides/migrations.md) — Move from manual tuning and historical roadmap docs to the current config surface
270
380
  - [Evaluation Harness](docs/evaluation-harness.md) — Benchmark pack, shadow recall, and CI delta gate format
271
381
  - [Architecture Overview](docs/architecture/overview.md) — System design and storage layout
272
382
  - [Retrieval Pipeline](docs/architecture/retrieval-pipeline.md) — How recall works
273
383
  - [Memory Lifecycle](docs/architecture/memory-lifecycle.md) — Write, consolidation, expiry
384
+ - [Graph Reasoning](docs/architecture/graph-reasoning.md) — Opt-in graph traversal, assist, and explainability
274
385
  - [Enable All Features](docs/enable-all-v8.md) — Full-feature config profile
275
386
  - [Operations](docs/operations.md) — Backup, export, maintenance
276
387
  - [Namespaces](docs/namespaces.md) — Multi-agent memory isolation
277
388
  - [Shared Context](docs/shared-context.md) — Cross-agent intelligence
278
389
  - [Identity Continuity](docs/identity-continuity.md) — Consistent agent personality
279
- - [Agentic Memory Roadmap](docs/plans/2026-03-06-engram-agentic-memory-roadmap.md) — Benchmark-first roadmap and PR slices
390
+ - [Historical Plans Index](docs/plans/README.md) — Archived design context; GitHub Project remains the roadmap source of truth
280
391
 
281
392
  ## Developer Install
282
393