tinyhumansai/openhuman · error
memory_tree_search_entities: memory driver does not support
Error message
memory_tree_search_entities: memory driver does not support the retrieval family
What it means
The bound driver's as_retrieval() is None — it does not implement the retrieval family, so entity search cannot run. This host deliberately does not validate kinds itself; the failure is purely driver capability.
Source
Thrown at src/openhuman/memory/query/search_entities.rs:80
// Entity kinds are an open vocabulary on the wire (see
// `memory::api::provider::retrieval`): the engine's own `EntityKind` is
// `#[non_exhaustive]` and has grown twice, so a closed host-side copy
// would either reject a kind the engine understands or drift silently
// out of date. The driver owns the vocabulary and rejects an unknown
// kind with `Invalid`.
//
// The cost is real and worth naming: a bad `kinds` value used to fail
// without a workspace, and now needs a bound driver to fail. The
// alternative — duplicating an open vocabulary host-side — is the
// failure mode this contract was shaped to avoid.
let limit = req.limit.unwrap_or(5).min(100);
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_tree_search_entities: {e}"))?;
let matches = guard
.as_retrieval()
.ok_or_else(|| {
anyhow::anyhow!(
"memory_tree_search_entities: memory driver does not support the \
retrieval family"
)
})?
.search_entities(&req.query, req.kinds.as_deref(), limit)
.await
.map_err(|e| anyhow::anyhow!("memory_tree_search_entities: {e}"))?;
log::debug!(
"[tool][memory_tree] search_entities returning matches={}",
matches.len()
);
let json = serde_json::to_string(&matches)?;
Ok(ToolResult::success(json))
}
}
#[cfg(test)]
mod tests {View on GitHub (pinned to 7491200858)
Solutions
- Use a retrieval-capable memory driver
- Diagnose why a driver without retrieval got bound
- Pick a memory_tree mode the active driver supports
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at src/openhuman/memory/query/search_entities.rs:80 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/1d029d911ebfc18b.
Report an issue: GitHub.