Skip to content

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 03:31
· 33 commits to main since this release
  • ci(release): trigger release pipeline on merge to main (#153) (31922c8)
  • ci: migrate Tech Doc Writer to shared reusable (73c926d)
  • fix(ci): repair tech-doc-writer YAML indentation / remove empty workflow (54baae8)
  • ci: add security-aware Dependabot auto-merge workflow (org backfill) (bf86cef)
  • feat(reliability): session recovery across MCP daemon restarts (#146) (#152) (16a2f74)
  • feat(reliability): daemon health + degraded-mode + clear error states (#147, #150) (#151) (d125bc3)
  • fix: add svelte as direct dependency + load smoke test (a649e44)
  • ci: change release trigger from push-to-main to tag-only (b52c1f3)
  • refactor: replace inline lifecycle with reusable workflow call (dd6d962)
  • docs: refresh ROADMAP.md with OASIS strategic alignment (3d85073)
  • fix: add category diversity cap to vectorSearchBoosted (#145) (a5afb06)
  • fix: downgrade no-explicit-any to warn to unblock CI (9abb456)
  • docs: update copilot-instructions with praxis, design-dojo, automation rules (0bac645)
  • feat(release): add target_version input for milestone-driven releases (4c16743)
  • feat(lifecycle): milestone-close triggers roadmap-aware release (fab35cc)
  • feat(lifecycle v12): auto-release when milestone completes (8a5e1b6)
  • feat(lifecycle v11): smart CI failure handling — infra vs code (b13adaa)
  • fix(lifecycle): label-based retry counter + CI fix priority (e719dcf)
  • feat: before_tool_call constraint enforcement (praxis enforcement layer) (c9a93ea)
  • feat: brain-first authorization gate (ADR-0012 update) (5cbaf94)
  • feat: implement authorization gate for procedure actions (ADR-0012) (3faadac)
  • feat: reactive procedure dispatch + cognitive architecture bridge (9ebbd14)
  • feat: session-start recall now surfaces stale tasks and hard constraints (3f64f3e)
  • ci: inline lifecycle workflow — fix schedule failures (a13102e)
  • fix: auto-reset MCP session on any error, not just session-specific codes (b5bf848)
  • fix: rewire graph tools to dedicated daemon endpoints (3fc84f8)
  • docs: add structured ROADMAP.md for automated issue generation (47b1390)
  • Initial plan (#144) (18ead30)
  • fix: resolve ESLint CI failures across 18 source files (#143) (eb9869f)
  • fix: resolve TypeScript build errors blocking CI (api-handlers + migrate-to-pluresdb) (#139) (fa99f15)
  • chore: centralize CI to org-wide reusable workflow (dee8193)
  • ci: standardize Node version to lts/* — remove hardcoded versions (fddde10)
  • fix: restore archived sources, fix @plures/praxis dep, implement missing API handlers (#137) (1f45aa2)
  • ci: centralize lifecycle — event-driven with schedule guard (fe599f2)
  • fix(lifecycle): v9.1 — fix QA dispatch (client_payload as JSON object) (b2a6c0a)
  • fix(lifecycle): rewrite v9 — apply suggestions, merge, no nudges (e68f532)
  • feat: Phase 2 — decision-ledger analysis coprocessor in PluresLM (#132) (fc05ab7)
  • Initial plan (#131) (9cc6044)
  • Initial plan (#130) (c808331)
  • feat: compact JSONL format for memory recall injection (6b28e45)
  • fix: improve auto-capture quality filters (b8333eb)
  • feat: re-enable praxis via @plures/praxis/core subpath (Svelte-free) (509b63e)
  • fix: disable @plures/praxis entirely until npm package ships Svelte-free (#317) (648f88d)
  • fix: use require() instead of top-level await for optional praxis import (fadab64)
  • fix: make @plures/praxis optional — svelte/internal/client breaks in Node (3e96977)
  • fix: build dist with vector search fix, add missing @plures/praxis dep, fix TS strict errors (4c9f46d)
  • fix: route pluresLM_search to vector search instead of text search (c6fd62e)
  • chore: license BSL 1.1 (commercial product) (a929751)
  • chore: standardize copilot-pr-lifecycle.yml to canonical version (3688d40)
  • docs: add ROADMAP.md (e3648f2)
  • chore: cleanup and housekeeping (741ba77)
  • chore: add standard CI workflow (59b6389)
  • chore: enforce strict type-safety across org (b9e76f3)
  • chore: standardize lint-clean across org (ea55d62)
  • chore: apply org-standard automation files (#129) (a4af78e)
  • feat: adopt @plures/praxis for declarative logic management (#128) (2b22ec5)
  • Initial plan (#71) (639c044)
  • feat: dynamic context budget based on model contextWindow (#126) (318accc)
  • fix: add content-hash dedup cache to prevent duplicate auto-captures (234ccaf)
  • feat: expose procedure tools (create, run, list, update, delete) (4b7ac68)
  • refactor: rewrite as thin MCP client plugin (588af50)
  • docs: clarify relationship to pluresLM-mcp v2.0 (bfbf50a)
  • docs: rewrite README for v2.0 MCP service architecture (cbb77be)
  • fix: revert to directory paths for pluresDB after removing sqlite (fa065c9)
  • feat(mcp): expose bundle/pack restore-import and training export tools (b9be190)
  • fix(pluresdb): enforce embedding-enabled init and clarify dbPath semantics (194225b)
  • fix: bump @plures/pluresdb to 2.9.7 to resolve missing postinstall script (#125) (9b1ed45)
  • docs: plan pluresLM installers, MCP docker registration, and policy-controlled multi-client service (f037ed2)
  • feat(plugin): default to service mode; require PLURESLM_MODE=plugin-local to bypass (abde889)
  • fix(service-bridge): set default service store path for spawned service (9ca2944)
  • feat(plugin): add service-mode bridge for core memory tools (20f489e)
  • feat(service): introduce plureslm-service entrypoint and explicit store path mode (9bf35e3)
  • docs+test: add stable MCP contract and smoke check (119121b)
  • feat: add pluresLM standalone MCP server entrypoint (07f35a8)
  • feat: optimization-trap memory schema + retrieval hooks (#123) (4265b9f)
  • ci: add PR lane event relay to centralized merge FSM (65ef493)
  • feat: classifier signal pipeline for optimization training data (#121) (b501be9)
  • Rename Superlocalmemory to Plures Local Memory (12bb694)
  • fix(ci): prevent sync-version failures on closed PRs; align release.yml with org standard (#119) (d78d416)
  • feat: Memory Module Packs — shareable, signed, versioned curated memory sets (#118) (1751900)
  • feat: tiered memory storage with archive policy engine and selective attach/detach (#117) (9740b35)
  • feat(index): add training data export APIs (#116) (4ce81fa)
  • fix(docs): align DESIGN.md with v2.0.0 implementation (#114) (1e028dc)
  • Revert "feat(boundary): enforce PluresDB engine vs pluresLM memory application layer" (#111) (a91ddbb)
  • feat(boundary): enforce PluresDB engine vs pluresLM memory application layer (#106) (193841b)
  • feat(capture-quality): detect training signals from conversation turns (#104) (7663fe8)
  • feat: add document ingestion API endpoint (#103) (8d5466a)
  • feat(types): extend memory schema with training data fields (#102) (cc3be76)
  • feat: add document processing and chunking pipeline (#101) (11eee27)
  • feat(google-drive): add GoogleDriveClient with gog CLI integration (#100) (e1db7b1)
  • fix(sync): add DB adapter layer to decouple sync protocol from PluresDB backend (#99) (b779d8c)
  • feat(sync): add data exchange logging — memories sent/received/deduped per peer (#97) (367773b)
  • feat(types): add document content type schemas (#95) (0528736)
  • fix(sync): make Hyperswarm sync fire-and-forget — never block plugin startup (#94) (b7f3dc9)
  • fix(ci): add id-token permission to release workflow (#90) (a01ca5b)
  • fix: add 30s timeout to Hyperswarm DHT bootstrap in sync.start() (#81) (a264156)
  • feat: Rust-native recall/capture API for Pares Agens (#79) (9bcbab5)
  • fix: tighten capture quality gate and category detection (#77) (03fc057)
  • fix: wire IPC handler startup + show full memory IDs in forget (#76) (4d675ec)
  • chore: organize root files into proper directories (#75) (9467eea)
  • fix: normalize plugin id to plureslm (#74) (9559b08)
  • fix: align plugin id with npm package name (#73) (cf0e7e3)
  • test: integration tests for hooks (#69) (b57e155)
  • feat: wire PatternEngine into agent_end auto-capture pipeline (#67) (7314f84)
  • feat: quality gate for auto-capture — skip noise, keep signal (#70) (ef6a520)
  • refactor: ContextManager uses vectorSearchBoosted instead of word overlap (#68) (f46e2c1)
  • chore: sane config defaults + npm publish preparation (#72) (629df68)
  • refactor: simplify CompatibilityLayer to mode detection + feature gating (#66) (a9c64a5)
  • feat: exclude project-context from auto-recall by default (2665c93)
  • fix: preemptive mitigations for memory bloat and feedback loops (60c8b87)
  • fix: enforce hard character budget on context injection (23ba263)
  • chore: remove SQLite dead code, stub tests, and stale docs (46e8dcf)
  • chore: sync openclaw.plugin.json version to 2.0.0 [skip ci] (6f176e6)
  • refactor: migrate all test setup to PluresDBBackend, remove better-sqlite3 from tests (4706f48)
  • test: migrate importance-boost tests and db helper to PluresDB backend (7e06f16)
  • fix: make better-sqlite3 import lazy in memory-db.ts to fix CI test failures (2a547de)
  • fix: address PR review feedback on graph operations integration (30e2c7e)
  • fix: address PR review feedback on graph operations integration (8f4fcb8)
  • chore: sync openclaw.plugin.json version to 1.0.0 [skip ci] (e966a69)
  • feat: integrate Phase 2A graph operations and enable memory relationship discovery (e45134c)
  • Initial plan (d3e07f9)

What's Changed

  • refactor: simplify CompatibilityLayer to mode detection + feature gating only by @kayodebristol with @Copilot in #66
  • chore: sane config defaults + npm publish preparation by @kayodebristol with @Copilot in #72
  • refactor: ContextManager uses vectorSearchBoosted, not word overlap by @kayodebristol with @Copilot in #68
  • feat: quality gate for auto-capture — skip noise, keep signal by @kayodebristol with @Copilot in #70
  • feat: wire PatternEngine into agent_end auto-capture pipeline by @kayodebristol with @Copilot in #67
  • test: integration tests for before_agent_start, agent_end, and before_compaction hooks by @kayodebristol with @Copilot in #69
  • fix: align plugin id with npm package name to resolve id mismatch warning by @kayodebristol in #73
  • fix: normalize plugin id to 'plureslm' by @kayodebristol in #74
  • chore: organize root files into proper directories by @kayodebristol in #75
  • fix: wire IPC handler startup + show full memory IDs in forget by @kayodebristol in #76
  • fix: tighten capture quality gate and category detection by @kayodebristol in #77
  • feat: Rust-native recall/capture API for Pares Agens by @kayodebristol with @Copilot in #79
  • fix: add 30s timeout to Hyperswarm DHT bootstrap in sync.start() by @kayodebristol with @Copilot in #81
  • fix(ci): add id-token permission to release workflow by @kayodebristol with @Copilot in #90
  • fix(sync): make Hyperswarm sync fire-and-forget — never block plugin startup by @kayodebristol with @Copilot in #94
  • feat(types): add document content type schemas by @kayodebristol with @Copilot in #95
  • feat(sync): add data exchange logging — memories sent/received/deduped per peer by @kayodebristol with @Copilot in #97
  • fix(sync): add DB adapter layer to decouple sync protocol from PluresDB backend by @kayodebristol with @Copilot in #99
  • feat(google-drive): add GoogleDriveClient with gog CLI integration by @kayodebristol with @Copilot in #100
  • feat: add document processing and chunking pipeline by @kayodebristol with @Copilot in #101
  • feat(types): extend memory schema with training data fields by @kayodebristol with @Copilot in #102
  • feat: add document ingestion API endpoint by @kayodebristol with @Copilot in #103
  • feat(capture-quality): detect training signals from conversation turns by @kayodebristol with @Copilot in #104
  • feat(boundary): enforce PluresDB engine vs pluresLM memory application layer by @kayodebristol with @Copilot in #106
  • Revert "feat(boundary): enforce PluresDB engine vs pluresLM memory application layer" by @kayodebristol in #111
  • fix(docs): align DESIGN.md with v2.0.0 implementation by @kayodebristol with @Copilot in #114
  • feat(index): add training data export APIs by @kayodebristol with @Copilot in #116
  • feat: tiered memory storage with archive policy engine and selective attach/detach by @kayodebristol with @Copilot in #117
  • feat: Memory Module Packs — shareable, signed, versioned curated memory sets by @kayodebristol with @Copilot in #118
  • fix(ci): prevent sync-version failures on closed PRs; align release.yml with org standard by @kayodebristol with @Copilot in #119
  • feat: classifier signal pipeline for optimization training data by @kayodebristol with @Copilot in #121
  • feat: optimization-trap memory schema + retrieval hooks by @kayodebristol with @Copilot in #123
  • fix: bump @plures/pluresdb to 2.9.7 to resolve missing postinstall script by @kayodebristol with @Copilot in #125
  • feat: dynamic context budget based on model contextWindow by @kayodebristol with @Copilot in #126
  • [WIP] Refactor index.ts into focused modules for better maintenance by @kayodebristol with @Copilot in #71
  • feat: adopt @plures/praxis for declarative logic management by @kayodebristol with @Copilot in #128
  • chore: apply org-standard automation files by @kayodebristol in #129
  • [WIP] Fix project-context memories dominance in database by @kayodebristol with @Copilot in #130
  • [WIP] Implement phase 1 of praxis primitive extraction in PluresLM auto-capture by @kayodebristol with @Copilot in #131
  • feat: Phase 2 — decision-ledger analysis coprocessor in PluresLM by @kayodebristol with @Copilot in #132
  • fix: restore archived sources, fix @plures/praxis dep, implement missing API handlers by @kayodebristol with @Copilot in #137
  • fix: resolve TypeScript build errors blocking CI (api-handlers + migrate-to-pluresdb) by @kayodebristol with @Copilot in #139
  • fix: resolve ESLint CI failures across 18 source files by @kayodebristol with @Copilot in #143
  • fix: CI failures on PR #139 resolved (TypeScript build + ESLint) by @kayodebristol with @Copilot in #144
  • fix: add category diversity cap to vectorSearchBoosted by @kayodebristol with @Copilot in #145
  • feat(reliability): daemon health + degraded-mode + clear error states (#147, #150) by @kayodebristol in #151
  • feat(reliability): session recovery across MCP daemon restarts (#146) by @kayodebristol in #152
  • ci(release): trigger release on merge to main by @kayodebristol in #153

New Contributors

Full Changelog: v2.0.0...v2.2.0