agenr 0.8.39 → 0.9.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 CHANGED
@@ -1,16 +1,53 @@
1
1
  # Changelog
2
2
 
3
- ## [0.8.39] - 2025-02-25
3
+ ## 0.9.0 (2026-02-25)
4
4
 
5
5
  ### Features
6
- - **ingest:** Add LLM debug logging via `--log-dir`, `--log-all`, and `--sample-rate` flags (#238)
7
- - Captures raw LLM prompt input and response output per chunk
8
- - Logs dedup before/after entry lists
9
- - Best-effort writes, never blocks extraction
10
- - Sampling defaults to 1-in-10 files; use `--log-all` for full capture
6
+ - Interactive onboarding wizard for `agenr init` (#170)
7
+ - Auth setup with API key links and connection testing
8
+ - Embeddings API key connectivity check during setup
9
+ - Platform auto-detection for OpenClaw and Codex (macOS, Linux, Windows)
10
+ - OpenClaw directory confirmation with custom path support
11
+ - DB isolation prompt for non-default OpenClaw paths (shared vs isolated)
12
+ - Project slug derivation with interactive edit
13
+ - Reconfigure mode with "keep current" defaults
14
+ - Change tracking for auth, model, embeddings, directory, and DB path
15
+ - Global projects map in `~/.agenr/config.json` for OpenClaw and Codex
16
+ - Keyed by directory path (multiple instances can share the same project slug)
17
+ - Stores platform, project slug, and optional dbPath per instance
18
+ - Per-repo platforms (Cursor, Claude Code, Windsurf) unchanged
19
+ - Current config display shows all registered projects with directories and DB isolation status
20
+ - `resolveProjectFromGlobalConfig()` helper for O(1) project lookup by directory
21
+ - Shared DB warning when same project slug and same database across instances
22
+ - Fix: OpenClaw sessionsDir correctly resolves to agents/main/sessions
23
+ - OpenClaw plugin auto-install with gateway restart during wizard
24
+ - Isolated DB path auto-written to OpenClaw plugin config (no manual editing)
25
+ - Session file scanner with recursive discovery, mtime filtering, size totals
26
+ - Cost estimation before ingest using model pricing from @mariozechner/pi-ai
27
+ - "Recent" ingest passes only last-7-day file paths; "full" uses directory glob
28
+ - Bulk ingest integration (--workers 10 --concurrency 1 --whole-file)
29
+ - Post-ingest consolidation prompt (merges near-duplicates from bulk ingest)
30
+ - Watcher daemon setup on macOS with launchd (120s interval)
31
+ - Re-ingest flow on model/auth change: stops watcher, resets DB, re-ingests
32
+ - Expanded setup summary with plugin/ingest/consolidate/watcher status
33
+ - Next steps section for skipped or failed wizard steps
34
+
35
+ ### Changed
36
+ - Refactored setup.ts: extracted `runSetupCore()` for programmatic use
37
+ - Subscription auth methods moved to "Advanced options" submenu
38
+ - Default recommended model changed to gpt-4.1-mini
39
+ - Non-interactive init behavior preserved when CLI flags are provided
40
+ - Skip .gitignore writes for OpenClaw and Codex (not git repos)
41
+
42
+ ### Fixed
43
+ - Test isolation: init wizard tests use isolated config path via `AGENR_CONFIG_PATH`
44
+ - fix(init): `installOpenClawPlugin` no longer forces the `OPENCLAW_HOME`
45
+ environment variable on OpenClaw CLI calls, preventing production config
46
+ overwrites when targeting a non-default directory (e.g. sandbox)
47
+ - fix(init): wizard now adds `"agenr"` to `plugins.allow` in the target
48
+ OpenClaw config, ensuring the plugin is explicitly trusted and suppressing
49
+ the auto-load warning
11
50
 
12
- ### Tests
13
- - Add tests for ingest debug logging: file creation, sampling, dedup logs, graceful failure on bad logDir
14
51
  ## [0.8.40] - 2026-02-25
15
52
 
16
53
  ### Added
package/README.md CHANGED
@@ -1,63 +1,72 @@
1
+ ```text
2
+ █████╗ ██████╗ ███████╗███╗ ██╗██████╗
3
+ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║██╔══██╗
4
+ ███████║██║ ███╗█████╗ ██╔██╗ ██║██████╔╝
5
+ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║██╔══██╗
6
+ ██║ ██║╚██████╔╝███████╗██║ ╚████║██║ ██║
7
+ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝
8
+ AGENt memoRy
9
+ ```
10
+
1
11
  # AGENR
2
12
 
3
13
  **AY-JEN-ER** - Human memory for AI agents.
4
14
 
5
- Your AI forgets everything between sessions. AGENR fixes that.
15
+ Your AI forgets everything between sessions. AGENR fixes that. It extracts structured knowledge from your conversation transcripts - facts, decisions, preferences, todos, relationships, events, lessons - and stores them in a local database with semantic search. Entries strengthen when reinforced, decay when stale, and resolve contradictions. One local database. Your memory stays on your machine.
6
16
 
7
- It extracts structured knowledge from your OpenClaw conversation transcripts - facts, decisions, preferences, todos, relationships, events, lessons - and stores them in a local database with semantic search. Entries strengthen when reinforced, decay when stale, and resolve contradictions. It's not a search engine. It's memory that gets healthier with use.
17
+ ## Quick Start
8
18
 
9
- One local database. Your memory stays on your machine.
19
+ ```bash
20
+ pnpm install -g agenr
21
+ agenr init
22
+ ```
10
23
 
11
- ## What you need
24
+ That's it. The interactive wizard handles everything: auth setup, platform detection, plugin installation, session ingestion, and watcher configuration. Run `agenr init` again anytime to reconfigure.
12
25
 
13
- AGENR uses embeddings to make your memory searchable. The best setup we've found: an **OpenAI API key** with `text-embedding-3-small`. Embeddings cost fractions of a penny per operation - a full ingestion of 100+ session transcripts runs about $0.10 total.
26
+ ## What It Does
14
27
 
15
- AGENR also supports **OpenAI Pro subscriptions** and **Anthropic Claude subscriptions** (no API key needed) for the LLM extraction step. But for the best balance of speed, accuracy, and cost, we recommend `gpt-4.1-nano` with an API key. `agenr setup` walks you through all of this.
28
+ - **Extract** - An LLM reads your transcripts and pulls out structured entries. Smart filtering removes noise (tool calls, file contents, boilerplate - about 80% of a typical session) before the LLM sees it. Hedged or unverified agent claims are capped at importance 5 with an `unverified` tag.
29
+ - **Store** - Entries get embedded and compared against existing knowledge. Near-duplicates reinforce existing entries. New information gets inserted. Online dedup catches copies in real-time.
30
+ - **Recall** - Semantic search plus memory-aware ranking. Entries you recall often score higher. Stale entries decay. Contradicted entries get penalized.
31
+ - **Consolidate** - Periodic cleanup: rule-based expiry first, then optional LLM-assisted merging for entries that say the same thing differently.
16
32
 
17
- ```bash
18
- export OPENAI_API_KEY=sk-... # for embeddings + extraction
33
+ ```text
34
+ Transcript -> Filter -> Extract -> Store -> Recall
35
+ 80% LLM dedup semantic
36
+ noise typed + embed + memory-
37
+ removed entries + dedup aware
19
38
  ```
20
39
 
21
- ## Setup
22
-
23
- ### 1. Install and ingest your history
40
+ ## What You Need
24
41
 
25
- ```bash
26
- npm install -g agenr
42
+ An **OpenAI API key** for embeddings (`text-embedding-3-small`). Embeddings cost fractions of a penny per operation - a full ingestion of 100+ session transcripts runs about $0.10 total.
27
43
 
28
- agenr setup # configure LLM provider + auth
29
- agenr ingest ~/.openclaw/agents/main/sessions/ # bootstrap from existing sessions
30
- agenr recall "what did we decide about the database schema?"
31
- ```
44
+ For the LLM extraction step, AGENR supports:
45
+ - **OpenAI API key** (recommended) - `gpt-4.1` is highly recommended for best extraction quality; `gpt-4.1-mini` is the default and works well if cost is a concern; `gpt-4.1-nano` is the budget option
46
+ - **OpenAI Pro subscription** - no API key needed
47
+ - **Anthropic Claude subscription** - no API key needed
32
48
 
33
- ### 2. Keep it fresh
49
+ The `agenr init` wizard walks you through all of this.
34
50
 
35
51
  ```bash
36
- agenr daemon install # runs in background, watches your sessions automatically
37
- agenr daemon status
38
- agenr daemon logs
52
+ export OPENAI_API_KEY=sk-... # for embeddings + extraction
39
53
  ```
40
54
 
41
- ### 3. Wire your agent
55
+ ## Platform Setup
42
56
 
43
- Choose your platform:
57
+ ### OpenClaw (recommended)
44
58
 
45
- #### OpenClaw (recommended)
59
+ `agenr init` auto-detects OpenClaw, installs the native plugin, and restarts the gateway. The plugin handles everything automatically: three-phase memory injection at session start, mid-session signals when important entries arrive, cross-session handoff summaries, and native `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` tools.
46
60
 
47
- The agenr OpenClaw plugin handles everything automatically - memory injection at
48
- session start, mid-session signals when important new entries arrive, and
49
- native `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire`
50
- tools registered directly in the agent toolset.
61
+ No AGENTS.md edits needed. No MCP config needed. The bundled SKILL.md loads automatically and instructs the agent when to call `agenr_store` proactively.
62
+
63
+ **Manual alternative:**
51
64
 
52
65
  ```bash
53
66
  openclaw plugins install agenr
54
67
  ```
55
68
 
56
- > **Security notice:** OpenClaw's code scanner will flag a critical warning during install: _"Shell command execution detected (child_process)."_ This is expected. agenr shells out to its own CLI binary to run recall and store operations -- it does not make any external network calls, does not read your OpenClaw credentials, and does not send data anywhere. The plugin source is open and auditable at [github.com/agenr-ai/agenr](https://github.com/agenr-ai/agenr).
57
-
58
- That's it. Memory injection happens via the plugin's `before_agent_start` hook.
59
- No AGENTS.md edits needed. The bundled `SKILL.md` loads automatically and
60
- instructs the agent when to call `agenr_store` proactively.
69
+ > **Security notice:** OpenClaw's code scanner will flag a critical warning during install: _"Shell command execution detected (child_process)."_ This is expected. agenr shells out to its own CLI binary for recall and store operations - it does not make external network calls, does not read your OpenClaw credentials, and does not send data anywhere. The plugin source is open and auditable.
61
70
 
62
71
  Optional config in `openclaw.json`:
63
72
 
@@ -78,20 +87,25 @@ Optional config in `openclaw.json`:
78
87
  }
79
88
  ```
80
89
 
81
- Signal config controls how often mid-session notifications fire. See
82
- [docs/OPENCLAW.md](./docs/OPENCLAW.md) for all available options.
90
+ Signal config controls how often mid-session notifications fire. See [docs/OPENCLAW.md](./docs/OPENCLAW.md) for all available options.
83
91
 
84
- #### Claude Code
92
+ ### Claude Code
85
93
 
86
94
  ```bash
87
95
  agenr init --platform claude-code
88
96
  ```
89
97
 
90
- Adds the `agenr_recall`/`agenr_store` instruction block to
91
- `~/.claude/CLAUDE.md` and wires `~/.mcp.json`. Your agent sees the tools and
92
- knows when to use them.
98
+ Adds the `agenr_recall`/`agenr_store` instruction block to `~/.claude/CLAUDE.md` and wires `~/.mcp.json`.
99
+
100
+ ### Codex
101
+
102
+ ```bash
103
+ agenr init --platform codex
104
+ ```
105
+
106
+ Adds instructions to `~/.codex/AGENTS.md` and wires `~/.codex/config.toml`.
93
107
 
94
- #### Cursor
108
+ ### Cursor
95
109
 
96
110
  ```bash
97
111
  agenr init --platform cursor
@@ -99,28 +113,29 @@ agenr init --platform cursor
99
113
 
100
114
  Adds instructions to `.cursor/rules/agenr.mdc` and wires `.cursor/mcp.json`.
101
115
 
102
- #### Codex
116
+ ### Windsurf
103
117
 
104
118
  ```bash
105
- agenr init --platform codex
119
+ agenr init --platform windsurf
106
120
  ```
107
121
 
108
- Adds instructions to `~/.codex/AGENTS.md` and wires `.mcp.json`.
122
+ Adds instructions to `~/.codeium/windsurf/memories/global_rules.md` and wires `.mcp.json`.
109
123
 
110
- #### Any MCP-compatible tool
124
+ ### Generic / Any MCP Tool
111
125
 
112
126
  ```bash
113
127
  agenr init # auto-detects platform, falls back to generic AGENTS.md
114
128
  ```
115
129
 
116
- Or configure manually: start `agenr mcp` as a stdio MCP server. Your agent gets
117
- `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` as tools.
130
+ Or start `agenr mcp` as a stdio MCP server and configure it in your tool's MCP settings manually. Your agent gets `agenr_recall`, `agenr_store`, `agenr_extract`, and `agenr_retire` as tools.
118
131
 
119
- ## What happens when you ingest
132
+ ## How Memory Works
120
133
 
121
- AGENR reads your OpenClaw session transcripts, filters out noise (tool calls, file dumps, boilerplate - about 80% of a typical session), and extracts structured knowledge entries:
134
+ ### Extraction & Storage
122
135
 
123
- ```
136
+ AGENR reads your session transcripts, filters out noise, and extracts structured knowledge entries. Each entry has a type, subject, content, importance, and expiry. Near-duplicates are caught automatically - if you discussed the same decision in three sessions, you get one entry with higher confirmations, not three copies.
137
+
138
+ ```bash
124
139
  agenr ingest ~/.openclaw/agents/main/sessions/ --glob '**/*.jsonl'
125
140
 
126
141
  [1/108] session-abc123.jsonl (1.2MB) - 12 extracted, 10 stored, 1 skipped (duplicate), 1 reinforced
@@ -128,7 +143,7 @@ agenr ingest ~/.openclaw/agents/main/sessions/ --glob '**/*.jsonl'
128
143
  ...
129
144
  ```
130
145
 
131
- Each entry has a type, subject, content, importance, and expiry. Near-duplicates are caught automatically - if you discussed the same decision in three sessions, you get one entry with higher confirmations, not three copies.
146
+ ### Recall (semantic + memory-aware)
132
147
 
133
148
  ```bash
134
149
  agenr recall "package manager"
@@ -141,79 +156,108 @@ agenr recall "package manager"
141
156
  tags: tooling, package-manager
142
157
  ```
143
158
 
144
- ## Live watching
159
+ Recall supports date range queries (`--since 14d --until 7d`) and temporal browse mode (`--browse --since 1d`) for recency-ordered lookups without embedding API calls.
145
160
 
146
- The watcher keeps your memory current as you work. It tails your session files, extracts new knowledge every few minutes, and stores it. If you ingested history first, watch resumes right where ingest left off - no re-processing.
161
+ ### Cross-session Handoff
162
+
163
+ When you start a new session, the OpenClaw plugin runs a three-phase context injection:
164
+
165
+ 1. **Phase 1A** - Reads the last 7 user+assistant turns from the most recent session file for immediate continuity
166
+ 2. **Phase 1B** - Runs browse-mode recall for the last 24 hours, picking up importance-10 handoff entries written when the previous session ended
167
+ 3. **Phase 2** - Semantic recall seeded from Phase 1A turns plus the first user message, deduplicated against Phase 1B results
168
+
169
+ When a session ends, the plugin builds a merged transcript from the current and prior sessions, summarizes it via LLM into a structured handoff entry at importance 10, and stores it. The next session consumes and retires the handoff entry after use.
170
+
171
+ A two-phase storage strategy prevents race conditions: Phase 1 stores a raw fallback immediately, then Phase 2 asynchronously upgrades it to the LLM summary and retires the fallback.
172
+
173
+ ### Consolidation
174
+
175
+ Periodic cleanup merges near-duplicates and expires stale entries. Run manually or let the init wizard prompt you after a bulk ingest:
147
176
 
148
177
  ```bash
149
- # Watch your OpenClaw sessions directory (auto-resolves the default path)
150
- agenr watch --platform openclaw
178
+ agenr consolidate
179
+ ```
180
+
181
+ ## Advanced
182
+
183
+ ### Multi-instance & DB Isolation
184
+
185
+ When running multiple OpenClaw instances (or mixing OpenClaw and Codex), each instance gets registered in a global projects map at `~/.agenr/config.json`. By default, all instances share `~/.agenr/knowledge.db` with data separated by project tags.
151
186
 
152
- # Install as a background daemon (macOS launchd)
153
- agenr daemon install
154
- agenr daemon status
155
- agenr daemon logs
187
+ For non-default OpenClaw paths, the init wizard offers isolated databases:
188
+
189
+ ```text
190
+ ~/.agenr/knowledge.db # shared (default)
191
+ ~/my-openclaw/agenr-data/knowledge.db # isolated
156
192
  ```
157
193
 
158
- You can also auto-refresh a context file that AI tools read on startup:
194
+ The wizard writes the isolated DB path directly to the OpenClaw plugin config so no manual editing is needed.
195
+
196
+ ### Manual Ingest
159
197
 
160
198
  ```bash
161
- agenr watch --platform openclaw --context ~/.agenr/CONTEXT.md
199
+ agenr ingest <paths...> --bulk --workers 10 --whole-file
162
200
  ```
163
201
 
164
- ## How it works
202
+ The init wizard offers cost estimation before ingestion using model pricing, showing estimated token counts and costs for recent (last 7 days) vs full history ingestion.
165
203
 
166
- **Extract** - An LLM reads your transcripts and pulls out structured entries: facts, decisions, preferences, todos, relationships, events, lessons. Smart filtering removes noise (tool calls, file contents, boilerplate) before the LLM ever sees it. For OpenClaw sessions, hedged or unverified agent claims are detected and capped at importance 5 with an `unverified` tag - so speculative assistant statements do not pollute your memory as facts.
204
+ ### Live Watching & Watcher
167
205
 
168
- **Store** - Entries get embedded and compared against what's already in the database. Near-duplicates reinforce existing knowledge. New information gets inserted. Online dedup catches copies in real-time.
206
+ The watcher tails your session files, extracts new knowledge every few minutes, and stores it. If you ingested history first, watch resumes right where ingest left off.
169
207
 
170
- **Recall** - Semantic search plus memory-aware ranking. Entries you recall often score higher. Stale entries decay. Contradicted entries get penalized.
171
-
172
- **Consolidate** - Periodic cleanup: rule-based expiry first, then optional LLM-assisted merging for entries that say the same thing differently.
208
+ ```bash
209
+ # Watch your sessions directory
210
+ agenr watch --platform openclaw
173
211
 
212
+ # Install as a background daemon (macOS launchd, 120s interval)
213
+ agenr watcher install
214
+ agenr watcher status
215
+ agenr watcher logs
174
216
  ```
175
- Transcript -> Filter -> Extract -> Store -> Recall
176
- 80% LLM dedup semantic
177
- noise typed + embed + memory-
178
- removed entries + dedup aware
217
+
218
+ ### Benchmarking
219
+
220
+ Evaluate extraction quality against scored rubrics:
221
+
222
+ ```bash
223
+ agenr benchmark
179
224
  ```
180
225
 
181
- ## MCP integration
226
+ Runs extraction against benchmark session fixtures, scores results against rubric JSON, and reports per-session plus overall metrics (recall, partial recall, precision proxy, composite score, pass rate). Supports multi-run aggregation with mean/min/stdev reporting.
182
227
 
183
- agenr exposes four MCP tools: `agenr_recall`, `agenr_store`, `agenr_extract`,
184
- `agenr_retire`.
228
+ ### MCP Integration (manual)
185
229
 
186
- **OpenClaw** - `openclaw plugins install agenr` (plugin registers tools
187
- natively; no MCP config needed)
230
+ If you prefer manual MCP setup over `agenr init`, start the stdio server:
188
231
 
189
- **Claude Code / Cursor / Codex** - `agenr init --platform <name>` (wires MCP
190
- config and instructions)
232
+ ```bash
233
+ agenr mcp
234
+ ```
191
235
 
192
- **Manual** - start `agenr mcp` as a stdio server and configure in your tool's
193
- MCP settings.
236
+ This exposes four tools: `agenr_recall`, `agenr_store`, `agenr_extract`, `agenr_retire`. Configure it in your tool's MCP settings as a stdio server.
194
237
 
195
238
  ## Commands
196
239
 
197
240
  | Command | What it does |
198
241
  | --- | --- |
199
- | `agenr setup` | Interactive configuration (LLM provider, auth, model defaults) |
200
- | `agenr init [options]` | Wire a project: instructions file + MCP config + project scope. Use `--platform openclaw\|claude-code\|cursor\|codex\|generic` |
242
+ | `agenr init` | Interactive setup wizard: auth, platform detection, plugin install, ingestion, watcher. Replaces the old `setup` flow. Use `--platform` to skip auto-detection. |
243
+ | `agenr setup` | Configure LLM provider, auth, and model defaults (also available inside `init`) |
201
244
  | `agenr config` | Show and update agenr configuration |
202
245
  | `agenr auth` | Authentication status and diagnostics |
203
246
  | `agenr ingest <paths...>` | Bulk-ingest files and directories |
204
247
  | `agenr extract <files...>` | Extract knowledge entries from text files |
205
248
  | `agenr store [files...]` | Store entries with semantic dedup |
206
- | `agenr recall [query]` | Semantic + memory-aware recall. Use `--since` / `--until` for date range queries (e.g. `--since 14d --until 7d` for entries from two weeks ago). |
207
- | `agenr retire [subject]` | Retire a stale entry (hidden, not deleted). Match by subject text or use --id <id> to target by entry ID. |
249
+ | `agenr recall [query]` | Semantic + memory-aware recall. Use `--since`/`--until` for date ranges, `--browse` for temporal mode. |
250
+ | `agenr retire [subject]` | Retire a stale entry (hidden, not deleted). Match by subject or `--id`. |
208
251
  | `agenr watch [file]` | Live-watch files/directories, auto-extract knowledge |
209
- | `agenr daemon install` | Install background watch daemon (macOS launchd) |
210
- | `agenr daemon status` | Show daemon status (running/stopped, pid, watched file, recent logs) |
211
- | `agenr daemon logs [--lines <n>] [--follow]` | Stream or show recent daemon logs for troubleshooting |
252
+ | `agenr watcher install` | Install background watch daemon (macOS launchd) |
253
+ | `agenr watcher status` | Show daemon status (running/stopped, pid, watched file, recent logs) |
254
+ | `agenr watcher logs` | Stream or show recent daemon logs |
212
255
  | `agenr consolidate` | Clean up and merge near-duplicates |
256
+ | `agenr benchmark` | Run extraction against benchmark fixtures and score results |
213
257
  | `agenr context` | Generate context file for AI tool integration |
214
258
  | `agenr health` | Show database health and forgetting candidates |
215
259
  | `agenr mcp` | Start MCP server (stdio) |
216
- | `agenr todo <subcommand> <subject>` | Manage todos in the knowledge base |
260
+ | `agenr todo <subcommand>` | Manage todos in the knowledge base |
217
261
  | `agenr db <cmd>` | Database management (stats, version, export, reset, path, check, rebuild-index) |
218
262
 
219
263
  Full reference: [docs/CLI.md](./docs/CLI.md) | [docs/CONFIGURATION.md](./docs/CONFIGURATION.md)
@@ -221,20 +265,20 @@ Full reference: [docs/CLI.md](./docs/CLI.md) | [docs/CONFIGURATION.md](./docs/CO
221
265
  ## Architecture
222
266
 
223
267
  - **Runtime:** Node.js 20+, TypeScript, ESM
224
- - **Storage:** libsql/SQLite (`~/.agenr/knowledge.db`)
268
+ - **Storage:** libsql/SQLite - default at `~/.agenr/knowledge.db`, optionally isolated per instance
225
269
  - **Embeddings:** OpenAI `text-embedding-3-small`, 1024 dimensions
226
270
  - **Recall scoring:** Vector similarity x recency x memory strength (max(importance, recall strength)), with contradiction penalties
271
+ - **Global config:** `~/.agenr/config.json` - stores auth, model, and a projects map keyed by directory path with platform, project slug, and optional isolated DB path per instance
227
272
 
228
273
  Deep dive: [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)
229
274
 
230
275
  ## Status
231
276
 
232
- The core pipeline is stable and tested (841 tests). We use it daily managing
233
- thousands of knowledge entries across OpenClaw sessions.
277
+ The core pipeline is stable and tested. We use it daily managing thousands of knowledge entries across OpenClaw sessions.
234
278
 
235
- What works: extraction, storage, recall, MCP integration, online dedup, consolidation, smart filtering, live watching, daemon mode.
279
+ **Shipped:** extraction, storage, recall (semantic + browse), MCP integration, online dedup, consolidation, smart filtering, live watching, daemon mode, cross-session handoff (LLM-summarized), three-phase context injection, interactive init wizard, cost estimation, DB isolation, benchmarking.
236
280
 
237
- What's next: GUI Management Console (browse, search, and curate your knowledge database visually), Cursor live signals, Claude Code UserPromptSubmit adapter, transitive project dependencies.
281
+ **Next:** GUI Management Console (browse, search, and curate your knowledge database visually), Cursor live signals, Claude Code UserPromptSubmit adapter, transitive project dependencies.
238
282
 
239
283
  ## Philosophy
240
284
 
@@ -248,10 +292,14 @@ AGENR keeps your memory on your machine because it is yours. It's structured (no
248
292
 
249
293
  | Problem | Fix |
250
294
  |---|---|
295
+ | `agenr init` wizard fails to detect platform | Pass `--platform openclaw` (or `codex`, `claude-code`, etc.) explicitly |
296
+ | Plugin install fails during wizard | Run `openclaw plugins install agenr` manually, then `openclaw gateway restart` |
251
297
  | Embeddings fail | Set `OPENAI_API_KEY` env var or `agenr config set-key openai <key>` |
252
298
  | Database locked | Wait for consolidation to finish, or check `~/.agenr/consolidation.lock` |
253
299
  | Recall returns nothing after force-kill | `agenr db rebuild-index` (vector index corruption) |
254
300
  | Extraction fails mid-file | Retry - dedup skips already-stored entries |
301
+ | Stale handoff entries persist | Run `agenr recall --browse --since 1d` to check, then `agenr retire --id <id>` |
302
+ | Gateway doesn't pick up plugin | Run `openclaw gateway restart` after plugin install |
255
303
 
256
304
  ## License
257
305