fix(doctor): suppress local memory embedding warning when probe was skipped#95392
fix(doctor): suppress local memory embedding warning when probe was skipped#953921052326311 wants to merge 2 commits into
Conversation
The local memory provider branch in doctor-memory-search was missing the skipped-probe guard that other key-optional providers already have. When gateway memory probe is skipped (checked=false, skipped=true), doctor was falsely warning "local embeddings are not confirmed ready" even though the probe was intentionally omitted. Add the same guard used by isKeyOptionalMemoryProvider: when the probe is skipped, return silently without producing a warning. Closes openclaw#92582
|
Thanks for the context here. I did a careful shell check against current Close: current main already implements the useful local skipped-probe doctor fix via merged PR #95393, and the current-main version is safer because it preserves diagnostics for a configured local model path that is unavailable. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. So I’m closing this as already implemented rather than keeping a duplicate issue open. Review detailsBest possible solution: Keep the current-main implementation from #95393 and close this duplicate branch instead of landing a second, stale guard-only variant. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows the pre-fix base lacked a skipped-probe guard in the local-provider branch, while current main now has coverage for Is this the best way to solve the issue? Yes on current main, but not through this branch. The merged implementation fixes the central false warning and preserves the missing-local-model warning that this PR's unconditional guard would suppress. Security review: Security review cleared: Security review cleared: the PR only changes doctor diagnostic branching and a focused unit test, with no dependency, workflow, secret, permission, package, or supply-chain surface. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against c29e1fe764f3; fix evidence: commit ce0142f04e4c, main fix timestamp 2026-06-24T02:04:12Z. |
Sweeper P3: comment claimed skipped probes only happen without --deep,
but current main can also produce probe:false during doctor --deep.
Reworded to describe the probe:false path generically.
Added regression test: local provider with {checked:false,ready:false,
skipped:true} must NOT emit a doctor warning — the probe was
intentionally skipped, not indicating broken embeddings.
|
v2 fix (commit 0d27410):
Test: @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
ClawSweeper applied the proposed close for this PR.
|
Closes #92582
Summary
openclaw doctorwarns "local embeddings are not confirmed ready" even whenopenclaw memory status --deepconfirms healthy memory, because the local provider branch lacks the skipped-probe guard that other providers already have.Changes
skippedprobe guard to theprovider === "local"branch innoteMemorySearchHealthisKeyOptionalMemoryProvider(line ~535) which silently returns whenopts.gatewayMemoryProbe.skipped === truesrc/commands/doctor-memory-search.tsTest
Drift proof
Source-only fix: the
skippedguard is a pure source-level invariant. The same pattern already exists in the key-optional provider path at the same scope. Added 1 block (7 lines with comment) directly above the existing warningnote()call.