tinyhumansai/openhuman · error
memory query: memory driver does not support the retrieval f
Error message
memory query: memory driver does not support the retrieval family
What it means
The bound memory driver does not implement the retrieval capability family (as_retrieval() is None). A driver-shape mismatch: the active backend (e.g. the null driver) serves no retrieval methods, so the query cannot be routed at all.
Source
Thrown at src/openhuman/memory/query/backend.rs:35
//! reaches the driver, so naming a scope here could only ever narrow what the
//! turn may see.
use anyhow::Result;
use crate::openhuman::memory::api::chunks::SourceKind;
use crate::openhuman::memory::api::provider::{
MemoryProvider, RetrievalHit, RetrievalResponse, SourceRetrievalQuery,
};
use crate::openhuman::memory::guard::MemoryGuard;
use crate::openhuman::memory::ops::guard::active_memory_guard;
/// The retrieval family on the active driver, or a caller-facing error.
async fn retrieval() -> Result<std::sync::Arc<MemoryGuard>> {
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory query: {e}"))?;
if guard.as_retrieval().is_none() {
return Err(anyhow::anyhow!(
"memory query: memory driver does not support the retrieval family"
));
}
Ok(guard)
}
/// Query the per-source summary trees. The global (time-axis) and topic
/// (subject-axis) trees were removed; source trees plus the entity index are
/// the substrate, so this is the only remaining tree-query backend.
pub async fn query_source_scope(
scope: Option<&str>,
time_window_days: Option<u32>,
query: Option<&str>,
limit: usize,
) -> Result<RetrievalResponse> {
let guard = retrieval().await?;
let request = SourceRetrievalQuery {
source_id: scope.map(str::to_string),View on GitHub (pinned to 7491200858)
Solutions
- Switch to a memory driver that implements MemoryRetrieval (the tinymemory module)
- Check whether the null driver is bound because module loading failed
- Report the driver/backend combination as lacking retrieval support
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at src/openhuman/memory/query/backend.rs:35 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/605bd8aabccc6fcc.
Report an issue: GitHub.