Conversation
The 0.8.3 release added peerDependencies.openclaw which OpenClaw's plugin loader may enforce at install or load time, silently preventing the plugin from registering. This broke thread auto-sync and all other plugin functionality for affected users. Retain openclaw.compat.pluginApi metadata for ClawHub validation only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
bugbot run |
|
Caution Review failedPull request was closed or merged during review 📝 Walkthrough🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5b1af09643
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
nowledge-mem-openclaw-plugin/README.md (1)
508-526: Consider simplifying version references for clarity.This troubleshooting section references multiple version milestones (0.8.x, 0.8.3, 0.7.x → 0.8.0, 0.8.6+, 0.8.5 and earlier), which may confuse users trying to diagnose their current setup. Lines 523-524 explain historical packaging changes that don't directly help users fix the issue.
Consider restructuring to:
- Lead with the diagnostic steps (run
nowledge_mem_status, check the listed items)- Keep the 0.8.6+ vs 0.8.5-and-earlier distinction since it affects the workaround
- Move or remove historical context about 0.8.3 packaging and the 0.7.x → 0.8.0 jump
This would make the troubleshooting more actionable for users on current versions.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@nowledge-mem-openclaw-plugin/README.md` around lines 508 - 526, Rework this troubleshooting block to lead with the actionable diagnostic steps (run nowledge_mem_status and verify plugin load, sessionDigest=true, backend reachability, and active capture path: hook events vs Context Engine afterTurn), then clearly state only the important version distinction that affects behavior (keep the 0.8.6+ vs 0.8.5-and-earlier note about capture hooks and the temporary workaround of removing plugins.slots.contextEngine = "nowledge-mem"), and remove or relocate the historical packaging/version notes (the 0.8.3 and 0.7.x → 0.8.0 commentary) so the section is concise and focused on immediate debugging and the practical workaround.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@nowledge-mem-openclaw-plugin/RELEASING.md`:
- Around line 101-102: The docs and validator disagree about
openclaw.install.minHostVersion: scripts/validate-plugin.mjs currently rejects
minHostVersion unconditionally but RELEASING.md says it's conditionally allowed;
update RELEASING.md to match the validator by changing the checklist bullet
about openclaw.install.minHostVersion to state it is not allowed (or must not be
present) unless the validator is changed, and add a brief note referencing
scripts/validate-plugin.mjs so future maintainers know the authoritative check
to update if behavior changes.
---
Nitpick comments:
In `@nowledge-mem-openclaw-plugin/README.md`:
- Around line 508-526: Rework this troubleshooting block to lead with the
actionable diagnostic steps (run nowledge_mem_status and verify plugin load,
sessionDigest=true, backend reachability, and active capture path: hook events
vs Context Engine afterTurn), then clearly state only the important version
distinction that affects behavior (keep the 0.8.6+ vs 0.8.5-and-earlier note
about capture hooks and the temporary workaround of removing
plugins.slots.contextEngine = "nowledge-mem"), and remove or relocate the
historical packaging/version notes (the 0.8.3 and 0.7.x → 0.8.0 commentary) so
the section is concise and focused on immediate debugging and the practical
workaround.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 31b58a5f-8c20-4bfa-9d42-81a1fb652c00
⛔ Files ignored due to path filters (1)
nowledge-mem-openclaw-plugin/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (10)
integrations.jsonnowledge-mem-openclaw-plugin/CHANGELOG.mdnowledge-mem-openclaw-plugin/README.mdnowledge-mem-openclaw-plugin/RELEASING.mdnowledge-mem-openclaw-plugin/openclaw.plugin.jsonnowledge-mem-openclaw-plugin/package.jsonnowledge-mem-openclaw-plugin/scripts/validate-plugin.mjsnowledge-mem-openclaw-plugin/src/hooks/capture.jsnowledge-mem-openclaw-plugin/src/index.jsnowledge-mem-openclaw-plugin/src/tools/status.js
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 5b1af09. Configure here.
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 32005c3. Configure here.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
nowledge-mem-openclaw-plugin/src/tools/status.js (1)
105-141: Minor redundancy inceSlotderivation.Lines 106-109 duplicate the same slot-normalization logic already performed at lines 72-75 for
details.contextEngineSlot. Consider reusingdetails.contextEngineSlotdirectly:-const ceSlot = - contextEngineSlot && String(contextEngineSlot).trim() - ? String(contextEngineSlot).trim() - : "legacy"; +const ceSlot = details.contextEngineSlot;This is a minor nit—the current code is functionally correct.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@nowledge-mem-openclaw-plugin/src/tools/status.js` around lines 105 - 141, The ceSlot normalization is duplicated—use the already-normalized details.contextEngineSlot instead of re-trimming contextEngineSlot: set ceSlot = details.contextEngineSlot (or remove ceSlot and reference details.contextEngineSlot directly), then compute ceActive = details.contextEngineSlot === "nowledge-mem" && contextEngineRegistered and derive captureMode using cfg.sessionDigest and that ceActive value; update all subsequent checks and log messages that currently reference ceSlot to use details.contextEngineSlot so the normalization logic is not repeated.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@nowledge-mem-openclaw-plugin/src/tools/status.js`:
- Around line 105-141: The ceSlot normalization is duplicated—use the
already-normalized details.contextEngineSlot instead of re-trimming
contextEngineSlot: set ceSlot = details.contextEngineSlot (or remove ceSlot and
reference details.contextEngineSlot directly), then compute ceActive =
details.contextEngineSlot === "nowledge-mem" && contextEngineRegistered and
derive captureMode using cfg.sessionDigest and that ceActive value; update all
subsequent checks and log messages that currently reference ceSlot to use
details.contextEngineSlot so the normalization logic is not repeated.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: afc97256-7fb1-4826-b012-692989f5c8bd
⛔ Files ignored due to path filters (1)
nowledge-mem-openclaw-plugin/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (12)
integrations.jsonnowledge-mem-openclaw-plugin/CHANGELOG.mdnowledge-mem-openclaw-plugin/CLAUDE.mdnowledge-mem-openclaw-plugin/README.mdnowledge-mem-openclaw-plugin/RELEASING.mdnowledge-mem-openclaw-plugin/openclaw.plugin.jsonnowledge-mem-openclaw-plugin/package.jsonnowledge-mem-openclaw-plugin/src/ce-state.jsnowledge-mem-openclaw-plugin/src/context-engine.jsnowledge-mem-openclaw-plugin/src/hooks/capture.jsnowledge-mem-openclaw-plugin/src/index.jsnowledge-mem-openclaw-plugin/src/tools/status.js
✅ Files skipped from review due to trivial changes (3)
- nowledge-mem-openclaw-plugin/RELEASING.md
- nowledge-mem-openclaw-plugin/openclaw.plugin.json
- nowledge-mem-openclaw-plugin/src/ce-state.js
🚧 Files skipped from review as they are similar to previous changes (4)
- integrations.json
- nowledge-mem-openclaw-plugin/src/hooks/capture.js
- nowledge-mem-openclaw-plugin/package.json
- nowledge-mem-openclaw-plugin/README.md

Summary
This PR prepares the OpenClaw integration for release and tightens the thread-capture contract.
The final shape is broader and more defensible than the original incident report:
What Changed
Capture reliability
plugins.slots.contextEngine = "nowledge-mem"nowledge_mem_statusreport the real active capture mode (hooksvscontext-engine+hooks)Thread shape cleanup
sessionKey, not transientsessionIdtemp:*and subagent sessions/new//resetstartup prompts from persisted user contentopenclaw-control-uisender envelopes before persistenceRelease surfaces
nmem config client ...sessionDigestnmem t list --source openclawValidation
Passed locally:
node nowledge-mem-openclaw-plugin/scripts/validate-plugin.mjscd nowledge-mem-openclaw-plugin && npm pack --dry-runcd ../3pp/clawhub && bun clawhub package publish /.../nowledge-mem-openclaw-plugin --dry-runManual/local verification completed:
nowledge_mem_statusreports the expected mode and routingNotes
sessionDigestbeing off after a restart. The docs and postmortem were updated to reflect that nuance.Note
Medium Risk
Changes core thread-capture/persistence filtering and routing between Context Engine and hook paths; mistakes could cause missed captures or unexpected thread shapes despite idempotent tail-sync safeguards.
Overview
Improves OpenClaw thread auto-sync reliability by keeping lifecycle capture hooks enabled even when the Context Engine slot is active, and by making thread identity prefer the stable
sessionKeyso CEafterTurnand hook capture append to the same Mem thread.Tightens what gets persisted: excludes internal/helper sessions (
temp:*, subagents), strips synthetic/new//resetstartup prompts, removes OpenClaw directive tags, and dropsopenclaw-control-uisender metadata wrappers from stored thread messages.Updates diagnostics and release surfaces:
nowledge_mem_statusnow reports the effective capture mode (hooks vscontext-engine+hooks), CE registration fallback details, and the split between CLI-backed memory tools and HTTP API thread sync; bumps the OpenClaw integration/plugin to0.8.8, removes hard host gates (openclaw.install.minHostVersion/peerDependencies), and updates the validator/runbook/docs to match.Reviewed by Cursor Bugbot for commit 32005c3. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores