openclaw - ✅(Solved) Fix memory status reports embeddings unavailable even when qmd status is healthy [1 pull requests, 1 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#63652Fetched 2026-04-10 03:42:25
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
cross-referenced ×1referenced ×1

openclaw memory status --deep reports Embeddings: unavailable with Could not determine QMD vector status from qmd status, even though the QMD index and vectors are healthy. This makes the memory/dreaming health output misleading.

Error Message

  • Embeddings error: Could not determine QMD vector status from \qmd status``

Root Cause

openclaw memory status --deep reports Embeddings: unavailable with Could not determine QMD vector status from qmd status, even though the QMD index and vectors are healthy. This makes the memory/dreaming health output misleading.

Fix Action

Fixed

PR fix notes

PR #63678: fix(memory): robustify QMD vector status parsing

Description (problem / solution / changelog)

Summary

Fixes issue #63652 where openclaw memory status --deep incorrectly reports embeddings unavailable even when QMD vectors are healthy.

The parseQmdStatusVectorCount function was too strict in its regex pattern, failing when qmd status output used alternative separators or different formatting.

Changes

  • Enhance the parser to try multiple regex patterns covering common format variations
    • Standard: Vectors: 42
    • Alternative separators: Vectors = 42, Vectors:42
    • Tab-separated: Vectors:\t42
    • Fallback pattern for any variation
  • Add 5 comprehensive test cases for various output formats
  • Fix type assertion in test helper function

Test plan

  • All existing tests pass: 88 tests in qmd-manager.test.ts
  • New tests cover alternative format variations
  • Local pnpm check passes
  • Memory status probe now correctly detects QMD vectors regardless of output format

Changed files

  • extensions/memory-core/src/memory/qmd-manager.test.ts (modified, +82/-5)
  • extensions/memory-core/src/memory/qmd-manager.ts (modified, +24/-6)
RAW_BUFFERClick to expand / collapse

Summary

openclaw memory status --deep reports Embeddings: unavailable with Could not determine QMD vector status from qmd status, even though the QMD index and vectors are healthy. This makes the memory/dreaming health output misleading.

Repro

  1. Configure memory to use QMD and enable dreaming.
  2. Ensure the QMD index exists and qmd status reports vectors.
  3. Run openclaw memory status --deep.

Expected

The memory status probe should detect QMD vectors and report embeddings/vector readiness as available.

Actual

openclaw memory status --deep prints:

  • Embeddings: unavailable
  • Embeddings error: Could not determine QMD vector status from \qmd status``
  • Vector: unavailable

Verified behavior

  • qmd status works directly and reports an index with embedded vectors.
  • openclaw gateway probe and openclaw gateway call health are healthy on the restarted local gateway.
  • The config is valid and memory.qmd.command points at the wrapper used to run QMD locally.

Environment

  • OpenClaw 2026.4.9
  • Local loopback gateway on ws://127.0.0.1:18789
  • memory.backend = qmd
  • plugins.entries.memory-core.config.dreaming.enabled = true

Notes

This looks like a probe/parser mismatch in the memory QMD status path rather than a missing QMD installation or a broken gateway.

extent analysis

TL;DR

The issue may be resolved by verifying the memory.qmd.command configuration and ensuring the QMD wrapper is correctly reporting vector status to the openclaw memory status --deep probe.

Guidance

  • Review the memory.qmd.command configuration to ensure it points to the correct QMD wrapper and that the wrapper is functioning as expected.
  • Verify that the QMD wrapper is correctly reporting vector status by running it manually and checking its output.
  • Check the openclaw logs for any errors or warnings related to the QMD integration.
  • Consider testing the openclaw memory status --deep probe with a different QMD configuration or version to isolate the issue.

Example

No code snippet is provided as the issue seems to be related to configuration and integration rather than code.

Notes

The issue appears to be specific to the OpenClaw 2026.4.9 version and the local loopback gateway setup. The problem may be related to a probe/parser mismatch in the memory QMD status path.

Recommendation

Apply workaround: Verify and adjust the memory.qmd.command configuration and QMD wrapper to ensure correct reporting of vector status to the openclaw memory status --deep probe, as the issue seems to be related to a configuration or integration problem rather than a version-specific bug.

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