openclaw - ✅(Solved) Fix Bug: cached plugin restore drops memory capability and breaks memory-wiki bridge imports [1 pull requests, 3 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#63157Fetched 2026-04-09 07:57:41
View on GitHub
Comments
3
Participants
3
Timeline
4
Reactions
0
Author
Timeline (top)
commented ×3cross-referenced ×1

memory-wiki bridge import can return zero artifacts on cached plugin-load paths even when memory-core is loaded and the workspace contains valid memory artifacts.

Root Cause

In dist/loader-*.js, cached plugin restore brings back memory runtime/prompt/flush state, but does not restore the registered memory capability. publicArtifacts lives on that capability, so listActiveMemoryPublicArtifacts() becomes empty after cache restore.

Cold registration exposes artifacts correctly; cached restore does not.

Fix Action

Fixed

PR fix notes

PR #63163: fix(plugins): preserve memory capability across cached loads

Description (problem / solution / changelog)

Summary

  • preserve the registered memory capability when restoring a cached plugin registry
  • add a regression test that verifies publicArtifacts survive a cache hit
  • fix memory-wiki bridge imports that would otherwise see zero exported artifacts after cached loads

Testing

  • node --no-maglev ./node_modules/vitest/vitest.mjs run --config vitest.plugins.config.ts src/plugins/loader.test.ts src/plugins/memory-state.test.ts

Closes #63157.

Changed files

  • src/plugins/loader.test.ts (modified, +70/-0)
  • src/plugins/loader.ts (modified, +4/-0)
RAW_BUFFERClick to expand / collapse

Summary

memory-wiki bridge import can return zero artifacts on cached plugin-load paths even when memory-core is loaded and the workspace contains valid memory artifacts.

Reproduction

  1. Configure memory-wiki in bridge mode.
  2. Ensure memory-core is the selected memory slot and the workspace contains exportable artifacts like MEMORY.md and memory/*.md.
  3. Run openclaw wiki bridge import on a cached CLI/plugin-load path.

Expected

Bridge import should see the same exported artifacts as a fresh memory-core registration.

Actual

openclaw wiki bridge import reports 0 artifacts/workspaces on the cached path.

Root Cause

In dist/loader-*.js, cached plugin restore brings back memory runtime/prompt/flush state, but does not restore the registered memory capability. publicArtifacts lives on that capability, so listActiveMemoryPublicArtifacts() becomes empty after cache restore.

Cold registration exposes artifacts correctly; cached restore does not.

Proposed Fix

Persist and restore the full memory capability in the plugin registry cache, alongside:

  • memory runtime
  • memory prompt builder
  • memory prompt supplements
  • memory flush plan resolver
  • memory corpus supplements

Why It Matters

This breaks the flagship qmd + memory-wiki bridge setup in a non-obvious way and makes bridge mode look unsupported when the actual problem is cache-state loss.

extent analysis

TL;DR

Persisting and restoring the full memory capability in the plugin registry cache is likely to fix the issue of zero artifacts being returned on cached plugin-load paths.

Guidance

  • Verify that the memory-core is loaded and the workspace contains valid memory artifacts before running openclaw wiki bridge import.
  • Check the dist/loader-*.js files to ensure that the cached plugin restore is correctly restoring the memory runtime, prompt, and flush state.
  • Consider modifying the plugin registry cache to include the registered memory capability, as proposed in the issue.
  • Test the import process with a fresh registration to confirm that artifacts are exposed correctly, and then try with a cached restore to identify the difference in behavior.

Example

No specific code snippet is provided, as the issue implies a modification to the dist/loader-*.js files, which is not explicitly stated.

Notes

The proposed fix involves persisting and restoring the full memory capability, which may have implications for the plugin registry cache and the memory runtime. It is essential to test this fix thoroughly to ensure that it does not introduce any new issues.

Recommendation

Apply the proposed workaround of persisting and restoring the full memory capability in the plugin registry cache, as it addresses the root cause of the issue and should fix the problem of zero artifacts being returned on cached plugin-load paths.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Bug: cached plugin restore drops memory capability and breaks memory-wiki bridge imports [1 pull requests, 3 comments, 3 participants]