Skip to content

Memory runtime checks should load the configured memory slot #76567

Description

@jonathangu

Summary

OpenClaw runtime memory checks can report no active memory runtime even when a plugin is installed and configured in plugins.slots.memory.

This affects plugin-backed memory providers such as OpenClawBrain. The configured memory slot should be loaded/consulted for runtime checks even when the full runtime plugin registry has not already been initialized.

Why this matters

A user can have config like:

{
  "plugins": {
    "slots": {
      "memory": "openclawbrain"
    },
    "entries": {
      "openclawbrain": {
        "enabled": true
      }
    }
  }
}

and still see runtime/status paths behave as if there is no memory provider. That makes it look like memory search or plugin memory is disabled even though the configured memory plugin is installed and loaded.

Expected behavior

When plugins.slots.memory names a plugin, memory runtime resolution should load or consult that configured plugin for memory runtime checks.

Actual behavior

Some runtime checks depend on the already-loaded runtime registry. If that registry is not populated for the configured memory slot at that point, the check returns no memory runtime.

Suggested fix shape

Resolve the configured memory slot from normalized plugin config and ensure that plugin is loaded for memory runtime resolution before returning no runtime.

There is a small repro/fix branch here if useful to maintainers: #76495

Local validation from the fix branch

pnpm test src/plugins/memory-runtime.test.ts

Result: 6 tests passed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions