@agenr/openclaw-plugin 0.13.4 → 0.14.1

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,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.14.1] - 2026-03-24
4
+
5
+ ### Surgeon Health Fixes (001–006)
6
+
7
+ Six targeted fixes based on a traced production surgeon run investigation:
8
+
9
+ - **Temporary entry TTL enforcement.** Temporary entries with low importance and zero recalls auto-expire after a configurable window (default 21 days). Rebuild-aware — entries are protected after a corpus rebuild until they've had time to be recalled. Short-lived entries are excluded from merge clustering.
10
+ - **Co-recall / co-ingest split.** The co-recall edge graph now distinguishes real co-recall (entries recalled together in a session) from co-ingest (entries from the same source file). Legacy edges retyped to `co_ingested`. Quality evolution only reads `co_recalled` edges. Live recall events now carry `session_id`.
11
+ - **Quality scoring recalibration.** Replaced the quality evolution formula with a rebuild-aware, type-aware, positive-signal-only design. Grace periods per entry type (preferences 14d, decisions 60d, etc.) prevent new entries from collapsing to floor scores. Quality only goes up from evidence. Gentle importance-dampened decay for unrecalled entries. Centralized quality tier thresholds. Removed dead seed path.
12
+ - **Two-tier health forgetting metric.** Health stats now report both an actionable cleanup pool (what the surgeon would evaluate) and a mechanical auto-retire count (ultra-conservative threshold). Removed dead `lowScoreTriggerCount` config.
13
+ - **Generic subject key suppression.** Contradiction scanning and clustering now detect and suppress generic `entity/type` subject keys (e.g., `jim/decision`) that collapse unrelated entries into false-positive pairs.
14
+ - **Semantic cluster precision.** Type-aware similarity thresholds for dedup clustering — decisions and lessons require 0.75, events 0.72, facts and preferences 0.60. Prevents thematic neighborhoods from being clustered as duplicates. Type-aware diameter floor in post-union validation.
15
+
16
+ ### Other
17
+
18
+ - **`db vector-check` command.** New CLI command for diagnosing vector index health.
19
+
20
+ ## [0.14.0] - 2026-03-24
21
+
22
+ ### Surgeon — Budget Model Overhaul
23
+
24
+ - **`--budget` now means dollars, not tokens.** The cumulative token budget that double-counted context re-sends across turns is gone. The surgeon is now constrained by two things: cost (dollars) and context window (tokens). Config `surgeon.budget` is dollars per run. Default: $5.
25
+ - **Context-aware limits.** New `surgeon.contextLimit` config field and `--context-limit` CLI flag. Auto-detects from `model.contextWindow * 0.85` if not set. The surgeon stops when context is full, not from artificial token counting.
26
+ - **`costCap` removed.** Replaced by `budget`. Old `costCap` values are accepted as backward-compatible alias with deprecation warning.
27
+
28
+ ### Surgeon — Contradiction Improvements
29
+
30
+ - **`coexists` relation for `log_conflict`.** The surgeon can now log reviewed false-positive pairs as coexisting rather than forcing them into `contradicts` or `supersedes`. Coexists conflicts are auto-resolved as `keep-both` so they don't accumulate as pending conflicts and future scans skip them.
31
+ - **Improved contradiction candidate filtering.** Suppresses historical series pairs (release versions, prompt paths, roadmap snapshots) from claim divergence scanning. Prioritizes `current_state` claim divergence pairs.
32
+
33
+ ### Surgeon — Retirement Candidate Scoping
34
+
35
+ - **Scoped candidate queries.** `query_candidates` now accepts `scope` parameter: `actionable` (default) filters to entries with high retirement probability — temporary, ephemeral, todos, low-importance events, mislabeled temporal artifacts. `all` shows the full candidate pool for deep sweeps.
36
+ - **Improved candidate ordering.** Actionable scope returns temporary entries first, then ephemeral, then todos, then low-importance events. Durable permanent decisions and preferences are excluded from the default scope.
37
+ - **Two-phase retirement in auto mode.** Surgeon starts with actionable candidates, widens to full pool only if budget remains after exhausting the actionable set.
38
+
3
39
  ## [0.13.4] - 2026-03-23
4
40
 
5
41
  ### Surgeon
package/README.md CHANGED
@@ -34,7 +34,7 @@ That's it. The interactive wizard handles everything: auth setup, platform detec
34
34
  - **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.
35
35
  - **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.
36
36
  - **Recall** - Semantic search plus memory-aware ranking. Entries you recall often score higher. Stale entries decay. Contradicted entries get penalized.
37
- - **Surgeon** - Corpus health maintenance: deterministic cleanup, quality evolution, vector integrity checks, and LLM-assisted retirement, dedup, and contradiction resolution.
37
+ - **Surgeon** - Corpus health maintenance: deterministic cleanup, quality evolution, and LLM-assisted retirement, dedup, and contradiction resolution.
38
38
 
39
39
  ```text
40
40
  Transcript -> Filter -> Extract -> Store -> Recall
@@ -262,13 +262,13 @@ This exposes five MCP tools: `agenr_recall`, `agenr_store`, `agenr_extract`, `ag
262
262
  | `agenr watcher install` | Install background watch daemon (macOS launchd) |
263
263
  | `agenr watcher status` | Show daemon status (running/stopped, pid, watched file, recent logs) |
264
264
  | `agenr watcher logs` | Stream or show recent daemon logs |
265
- | `agenr surgeon run` | Run corpus-health maintenance: cleanup, quality evolution, vector checks, and retirement/dedup/contradictions |
265
+ | `agenr surgeon run` | Run corpus-health maintenance: cleanup, quality evolution, and retirement/dedup/contradictions |
266
266
  | `agenr benchmark` | Run extraction against benchmark fixtures and score results |
267
267
  | `agenr context` | Generate context file for AI tool integration |
268
- | `agenr health` | Show database health and forgetting candidates |
268
+ | `agenr health` | Show database health and cleanup status |
269
269
  | `agenr mcp` | Start MCP server (stdio) |
270
270
  | `agenr todo <subcommand>` | Manage todos in the knowledge base |
271
- | `agenr db <cmd>` | Database management (stats, version, export, reset, path, check, rebuild-index) |
271
+ | `agenr db <cmd>` | Database management (stats, version, export, reset, path, check, vector-check, rebuild-index) |
272
272
 
273
273
  Full reference: [docs/CLI.md](./docs/CLI.md) | [docs/CONFIGURATION.md](./docs/CONFIGURATION.md)
274
274
 
@@ -306,7 +306,7 @@ For the product thesis, see [docs/vision.md](./docs/vision.md).
306
306
  | Plugin install fails during wizard | Run `openclaw plugins install agenr` manually, then `openclaw gateway restart` |
307
307
  | Embeddings fail | Set `OPENAI_API_KEY` env var or `agenr config set-key openai <key>` |
308
308
  | Database locked | Wait for the active write-heavy command to finish (`agenr ingest --bulk`, `agenr surgeon run --apply`, etc.) and retry |
309
- | Recall returns nothing after force-kill | `agenr db rebuild-index` (vector index corruption) |
309
+ | Recall returns nothing after force-kill | `agenr db vector-check --rebuild` (vector shadow-table drift) |
310
310
  | Extraction fails mid-file | Retry - dedup skips already-stored entries |
311
311
  | Stale handoff entries persist | Run `agenr recall --browse --since 1d` to check, then `agenr retire --id <id>` |
312
312
  | Gateway doesn't pick up plugin | Run `openclaw gateway restart` after plugin install |