tinyhumansai/openhuman · error

memory_hybrid_search: query failed: {e}

Error message

memory_hybrid_search: query failed: {e}

What it means

The hybrid memory search tool forwarded the query to the retrieval backend and the underlying `recall` call returned an error. This is a downstream failure wrapper: the query itself parsed fine, but the memory retrieval stack (bound memory driver/module, embedding provider, or store) errored while executing the search. The `{e}` detail identifies which layer failed.

Source

Thrown at src/openhuman/memory/tools/search/hybrid_search.rs:164

        // the web channel around the turn) so a search issued mid-turn
        // never retrieves the very request that triggered it. `None`
        // outside a chat turn — unchanged behavior for cron/CLI/tests.
        let exclude_session_id =
            crate::openhuman::agent::tinyagents::thread_context::current_thread_id();
        if let Some(ref excluded) = exclude_session_id {
            log::debug!(
                "[tool][memory_hybrid_search] applying same-session exclusion exclude_session_id={excluded}"
            );
        }
        let hits = retrieval
            .recall_namespace_scored(
                &parsed.namespace,
                &parsed.query,
                limit as usize,
                exclude_session_id.as_deref(),
            )
            .await
            .map_err(|e| anyhow::anyhow!("memory_hybrid_search: query failed: {e}"))?;

        if hits.is_empty() {
            return Ok(ToolResult::success("No results found."));
        }

        // Re-score using the selected weight profile
        let mut rescored: Vec<(usize, f64)> = hits
            .iter()
            .enumerate()
            .map(|(i, hit)| {
                let bd = &hit.score_breakdown;
                let score = tinycortex::memory::retrieval::scoring::hybrid_score(
                    &profile,
                    bd.graph_relevance,
                    bd.vector_similarity,
                    bd.keyword_relevance,
                    bd.freshness,
                )

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the chained error `{e}` to identify the failing layer (driver, embeddings, store)
  2. Retry once — transient store or module-call failures can surface here
  3. Check that the memory module/driver is loaded and healthy (memory health RPC)
  4. Verify embedding provider configuration if the detail points at vectorization
  5. Narrow the query (namespace/limit) to rule out oversized requests
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/memory/tools/search/hybrid_search.rs:164 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/0d804b7bb2d356b3. Report an issue: GitHub.