You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(memory): fail fast when embeddings provider is unavailable
Fixes#89691.
Memory search now treats explicitly configured non-local embedding providers as required. When that provider is unavailable, search and sync surface an unavailable memory-search result instead of silently returning FTS-only recall.
Unset/default/local/none-style paths keep FTS fallback so existing workflows do not lose keyword recall entirely. The fallback state is now surfaced in diagnostics/status instead of being hidden.
Maintainer merge note: current CI still has unrelated baseline boundary failures in extensions/google/google.live.test.ts and extensions/minimax/minimax.live.test.ts. This PR does not touch those files; the PR-specific memory, docs, lint, type, security, and ClawSweeper checks were reviewed before merge.
If only one path is available (no embeddings or no FTS), the other runs alone.
80
-
81
-
When embeddings are unavailable, OpenClaw still uses lexical ranking over FTS results instead of falling back to raw exact-match ordering only. That degraded mode boosts chunks with stronger query-term coverage and relevant file paths, which keeps recall useful even without `sqlite-vec` or an embedding provider.
79
+
If only one path is available, the other runs alone. Intentional FTS-only mode
80
+
(`provider: "none"`) and automatic/default provider selection can still use
81
+
lexical ranking when embeddings are unavailable.
82
+
83
+
Explicit non-local embedding providers are different. If you set
84
+
`memorySearch.provider` to a concrete remote-backed provider and that provider
85
+
is unavailable at runtime, `memory_search` reports memory as unavailable instead
86
+
of silently using FTS-only results. This keeps a broken configured semantic
87
+
provider visible. Set `provider: "none"` for deliberate FTS-only recall, or fix
88
+
the provider/auth configuration to restore semantic ranking.
0 commit comments