{"record":{"id":"f87cd1b79bad6fc0","repo":"tinyhumansai/openhuman","slug":"memory-tree-walk-memory-driver-does-not-support-t","errorCode":null,"errorMessage":"memory_tree walk: memory driver does not support the retrieval family","messagePattern":"memory_tree walk: memory driver does not support the retrieval family","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/query/fast_walk.rs","lineNumber":61,"sourceCode":"        max_hops,\n        time_window_days\n    );\n\n    // Routed through the bound driver. `None` for the scope is not\n    // \"unrestricted\": the guard intersects it with the ambient per-turn\n    // allowlist, so the source gate still applies.\n    let guard = active_memory_guard()\n        .await\n        .map_err(|e| anyhow::anyhow!(\"memory_tree walk: {e}\"))?;\n    let opts = FastRetrieveQuery {\n        limit,\n        max_hops,\n        time_window_days,\n    };\n    let resp = guard\n        .as_retrieval()\n        .ok_or_else(|| {\n            anyhow::anyhow!(\"memory_tree walk: memory driver does not support the retrieval family\")\n        })?\n        .fast_retrieve(&query, opts, None)\n        .await?;\n    log::debug!(\n        \"[tool][memory_tree] walk returning hits={} total={}\",\n        resp.hits.len(),\n        resp.total\n    );\n    let json = serde_json::to_string(&resp)?;\n    Ok(ToolResult::success(json))\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use serde_json::json;\n\n    #[tokio::test]","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/query/fast_walk.rs#L43-L79","documentation":"The guard acquired for the walk has as_retrieval() == None: the bound driver does not implement the retrieval family, so FastRetrieveQuery cannot run. Driver capability mismatch, not an argument problem.","triggerScenarios":"Thrown at src/openhuman/memory/query/fast_walk.rs:61 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Bind a driver that implements fast retrieval (tinymemory module)","Investigate why the current driver lacks the retrieval family","Use a different memory mode supported by the active driver"],"exampleFix":null,"handlingStrategy":"type-guard","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-14T05:17:10.506Z"}