{"record":{"id":"0d804b7bb2d356b3","repo":"tinyhumansai/openhuman","slug":"memory-hybrid-search-query-failed-e","errorCode":null,"errorMessage":"memory_hybrid_search: query failed: {e}","messagePattern":"memory_hybrid_search: query failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/tools/search/hybrid_search.rs","lineNumber":164,"sourceCode":"        // the web channel around the turn) so a search issued mid-turn\n        // never retrieves the very request that triggered it. `None`\n        // outside a chat turn — unchanged behavior for cron/CLI/tests.\n        let exclude_session_id =\n            crate::openhuman::agent::tinyagents::thread_context::current_thread_id();\n        if let Some(ref excluded) = exclude_session_id {\n            log::debug!(\n                \"[tool][memory_hybrid_search] applying same-session exclusion exclude_session_id={excluded}\"\n            );\n        }\n        let hits = retrieval\n            .recall_namespace_scored(\n                &parsed.namespace,\n                &parsed.query,\n                limit as usize,\n                exclude_session_id.as_deref(),\n            )\n            .await\n            .map_err(|e| anyhow::anyhow!(\"memory_hybrid_search: query failed: {e}\"))?;\n\n        if hits.is_empty() {\n            return Ok(ToolResult::success(\"No results found.\"));\n        }\n\n        // Re-score using the selected weight profile\n        let mut rescored: Vec<(usize, f64)> = hits\n            .iter()\n            .enumerate()\n            .map(|(i, hit)| {\n                let bd = &hit.score_breakdown;\n                let score = tinycortex::memory::retrieval::scoring::hybrid_score(\n                    &profile,\n                    bd.graph_relevance,\n                    bd.vector_similarity,\n                    bd.keyword_relevance,\n                    bd.freshness,\n                )","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/tools/search/hybrid_search.rs#L146-L182","documentation":"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.","triggerScenarios":"Thrown at src/openhuman/memory/tools/search/hybrid_search.rs:164 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the chained error `{e}` to identify the failing layer (driver, embeddings, store)","Retry once — transient store or module-call failures can surface here","Check that the memory module/driver is loaded and healthy (memory health RPC)","Verify embedding provider configuration if the detail points at vectorization","Narrow the query (namespace/limit) to rule out oversized requests"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}