OpenClaw Memory Doctor
Diagnose and restore OpenClaw memory reliability with evidence, minimal risk, and verifiable outcomes.
Positioning
- One-line value: find the real cause of memory degradation fast and recover reliable recall with proof.
- Audience: OpenClaw operators responsible for recall quality and memory stability.
- Use when: there is a concrete memory symptom.
- Do not use when: the issue is unrelated to memory (UI, network, auth, unrelated plugin failures) or the user asks for broad speculative tuning.
- Difference: this is not generic troubleshooting, it is a symptom-driven memory runbook with confidence scoring and strict verification.
Scope
Handle only:
- weak or empty semantic recall;
- poor or empty memory search results;
- Dreaming off or stalled;
- stale, empty, or drifting memory index;
- poor promotion quality (noise, duplicates, weak usefulness).
Non-Goals
- Do not troubleshoot all OpenClaw problems.
- Do not perform broad config rewrites without explicit approval.
- Do not claim a fix is complete before verification gates pass.
- Do not ask users to paste secrets in chat.
Required Operating Mode
Follow this sequence every time:
-
Pin symptom
- State one primary symptom in one sentence.
-
Collect evidence (read-first)
- Start with read-only diagnostics.
-
Diagnose with confidence
- Separate fact, inference, and hypothesis.
- Assign confidence: high, medium, or low.
-
Apply minimal safe fix
- Apply the smallest change with lowest blast radius.
- Ask for approval before broad changes.
-
Verify outcome
- Confirm using objective checks, not intuition.
-
Return structured report
- Use the Output Contract exactly.
Baseline Triage (always first)
openclaw status
openclaw doctor --non-interactive
openclaw memory status
openclaw memory status --deep
If commands are unavailable, report the blocker and provide the minimum command set for the user to run.
Symptom Routes
A) Recall is empty or weak
openclaw doctor --non-interactive
openclaw memory status --deep
Check for:
- provider readiness;
- embedding/dependency failures;
- fallback mode behavior;
- signals of empty or corrupted index.
B) Dreaming is off or stalled
openclaw memory status
Validate:
plugins.entries.memory-core.config.dreaming.enabled;- schedule, frequency, timezone correctness;
- freshness of memory artifacts (for example
DREAMS.mdand daily memory files).
C) Index is stale or empty
openclaw memory status --deep
openclaw memory index --force
openclaw memory status --deep
Validate:
- files/chunks > 0;
- expected memory sources are indexed;
- metrics improved after reindex.
D) Promotion quality is poor
openclaw memory promote --limit 10
openclaw memory promote-explain "<candidate text>"
Check:
- relevance and recency;
- noise and duplicates;
- thresholds too strict or too loose;
- candidate quality mismatch.
Safety Guardrails
- Prefer read-only checks before edits.
- Apply one change per iteration, then verify.
- Request approval for high-blast-radius edits.
- If uncertainty is above medium, provide top-2 hypotheses and the next discriminating test.
- Explicitly report conflicting evidence.
Verification Gates (mandatory)
After each fix:
openclaw memory status --deep
openclaw doctor --non-interactive
Only mark success when all are true:
- readiness and health are acceptable for the intended mode;
- index is non-empty and consistent;
- Dreaming state matches target configuration;
- control query shows measurable recall improvement.
Output Contract (mandatory)
Always return:
- Symptom
- Evidence (facts + commands + key outputs)
- Diagnosis (root cause or top-2 causes + confidence)
- Fix applied (minimal change)
- Verification (passed/failed checks)
- Residual risk
- Next best action
Response Style
- Be concise and technical.
- Never mix facts with hypotheses.
- Never claim complete recovery without passing verification gates.
- Return actionable deliverables, not generic prose.
Author
Vassiliy Lakhonin
