openclaw - 💡(How to fix) Fix 4.26 doctor surfaces memory-readiness 'not checked' warning on every run; previous behavior (4.25) only warned on actual probe timeout [1 comments, 2 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#73882Fetched 2026-04-29 06:13:40
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
mentioned ×2subscribed ×2commented ×1

Per CHANGELOG line 181 in 4.26: "Memory/doctor: treat the specific gateway timeout after ... gateway memory probe result as inconclusive instead of reporting embeddings not ready, while preserving warnings for explicit failures." This is a positive change — it stops false alarms when the deep probe times out.

However, the new behavior also causes the doctor to surface a warning on every run, even when there's no probe timeout to be inconclusive about. The exact text:

Memory search provider "ollama" is configured, but the gateway reports embeddings are not ready. Gateway memory probe for default agent is not ready: memory embedding readiness not checked; run openclaw memory status --deep to probe Verify: openclaw memory status --deep

Error Message

  • OR: change the warning to a debug-level log (not a doctor-surfaced WARN)

Root Cause

Per CHANGELOG line 181 in 4.26: "Memory/doctor: treat the specific gateway timeout after ... gateway memory probe result as inconclusive instead of reporting embeddings not ready, while preserving warnings for explicit failures." This is a positive change — it stops false alarms when the deep probe times out.

However, the new behavior also causes the doctor to surface a warning on every run, even when there's no probe timeout to be inconclusive about. The exact text:

Memory search provider "ollama" is configured, but the gateway reports embeddings are not ready. Gateway memory probe for default agent is not ready: memory embedding readiness not checked; run openclaw memory status --deep to probe Verify: openclaw memory status --deep

Fix Action

Fix / Workaround

Workaround / ground-truth verified

Code Example

openclaw memory status --deep
# exit code 0
# Provider: ollama
# Model: nomic-embed-text
# Indexed: 740/793 files · 4361 chunks
# Embeddings: ready
# Vector: ready
# FTS: ready
RAW_BUFFERClick to expand / collapse

Upstream bug report

Target: github.com/openclaw/openclaw/issues


Title

4.26 doctor surfaces memory-readiness "not checked" warning on every run; previous behavior (4.25) only warned on actual probe timeout

Environment

  • OpenClaw 2026.4.26 (be8c246)
  • Memory provider: ollama (configured)
  • Install: pnpm-detected, real path under .npm-global/lib/node_modules/openclaw

Summary

Per CHANGELOG line 181 in 4.26: "Memory/doctor: treat the specific gateway timeout after ... gateway memory probe result as inconclusive instead of reporting embeddings not ready, while preserving warnings for explicit failures." This is a positive change — it stops false alarms when the deep probe times out.

However, the new behavior also causes the doctor to surface a warning on every run, even when there's no probe timeout to be inconclusive about. The exact text:

Memory search provider "ollama" is configured, but the gateway reports embeddings are not ready. Gateway memory probe for default agent is not ready: memory embedding readiness not checked; run openclaw memory status --deep to probe Verify: openclaw memory status --deep

Concern

The warning fires on a non-deterministic state ("not checked") rather than an actual failure. For a healthy memory subsystem, asking the operator to manually run --deep on every doctor run is noise — doctor should either:

  • Run the deep probe automatically and report the result, OR
  • Skip the warning entirely when the configured provider is reachable, OR
  • Surface this only when there's an actionable issue (e.g. failed connectivity)

Source location (4.26)

  • dist/server-methods-b3jaTRE_.js:3764-3772 — skipped probe returns "memory embedding readiness not checked"

Reproduction

  1. On 4.26, configure memory.search.provider: "ollama" (or any provider)
  2. Run openclaw doctor
  3. Observe the memory-readiness warning regardless of actual memory health

Production impact

LOW — purely cosmetic / advisory noise in doctor output. But it adds a known-noise item to the post-update doctor delta, making it harder to spot real new warnings against a baseline.

Workaround / ground-truth verified

Run openclaw memory status --deep separately to verify true memory health. We confirmed the warning is benign on a healthy install:

openclaw memory status --deep
# exit code 0
# Provider: ollama
# Model: nomic-embed-text
# Indexed: 740/793 files · 4361 chunks
# Embeddings: ready
# Vector: ready
# FTS: ready

Add this --deep invocation to post-flight smoke procedures so operators can verify the warning is doctor noise vs an actual issue.

Suggested fix

Either:

  • Doctor should run the lightweight readiness probe automatically (don't ask operator to do it)
  • OR: change the warning to a debug-level log (not a doctor-surfaced WARN)
  • OR: surface only when probe explicitly fails or times out

The current state ("not checked, please check") is the worst of both worlds.

extent analysis

TL;DR

The most likely fix is to modify the doctor to either run the lightweight readiness probe automatically or change the warning to a debug-level log.

Guidance

  • Review the code at dist/server-methods-b3jaTRE_.js:3764-3772 to understand why the skipped probe returns "memory embedding readiness not checked" and consider modifying it to run the probe automatically.
  • Consider adding a configuration option to control the behavior of the memory readiness check, allowing operators to choose whether to run the probe automatically or manually.
  • Verify the fix by running openclaw doctor and checking that the memory-readiness warning is no longer displayed when the configured provider is reachable.
  • If modifying the code is not feasible, add the openclaw memory status --deep invocation to post-flight smoke procedures to verify the warning is doctor noise vs an actual issue.

Example

No code snippet is provided as the issue does not contain enough information to create a specific example.

Notes

The suggested fix may require changes to the OpenClaw codebase, and it is recommended to test the changes thoroughly to ensure they do not introduce any new issues.

Recommendation

Apply workaround: run openclaw memory status --deep separately to verify true memory health, as this is a low-impact issue and the workaround is straightforward to implement.

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 - 💡(How to fix) Fix 4.26 doctor surfaces memory-readiness 'not checked' warning on every run; previous behavior (4.25) only warned on actual probe timeout [1 comments, 2 participants]