tinyhumansai/openhuman · error · anyhow::Error
memory_store_raw_search: {e}
Error message
memory_store_raw_search: {e} What it means
Wrapper around active_memory_guard() in raw_search: driver acquisition failed after parsing. Empty kinds lists are normalized to "no filter" before this point, so the failure is driver availability only.
Source
Thrown at src/openhuman/memory/tools/raw_store/raw_search.rs:91
log::debug!(
"[tool][memory_store] raw_search q_len={} kinds={:?} limit={}",
parsed.query.len(),
parsed.kinds,
parsed.limit
);
// An empty `kinds` list means "no filter", matching the previous
// behaviour — it is not forwarded as an empty allowlist, which the
// driver would read as "match no kind at all".
let kinds = parsed
.kinds
.as_ref()
.filter(|kinds| !kinds.is_empty())
.map(Vec::as_slice);
// Kind validation belongs to the driver now: the vocabulary is open on
// the wire. See the note in `memory/query/search_entities.rs`.
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_store_raw_search: {e}"))?;
let hits = guard
.as_retrieval()
.ok_or_else(|| {
anyhow::anyhow!(
"memory_store_raw_search: memory driver does not support the retrieval family"
)
})?
.search_entities(&parsed.query, kinds, parsed.limit)
.await
.map_err(|e| anyhow::anyhow!("memory_store_raw_search: {e}"))?;
log::debug!(
"[tool][memory_store] raw_search returning hits={}",
hits.len()
);
let json = serde_json::to_string(&hits)?;
Ok(ToolResult::success(json))
}
}View on GitHub (pinned to 7491200858)
Solutions
- Retry after the driver binds
- Check the underlying binding error
- Confirm a retrieval-capable backend is configured
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/raw_store/raw_search.rs:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/541e8349c77b82b6.
Report an issue: GitHub.