{"record":{"id":"3231ff0555d278b8","repo":"tinyhumansai/openhuman","slug":"memory-store-kinds-e","errorCode":null,"errorMessage":"memory_store_kinds: {e}","messagePattern":"memory_store_kinds: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/tools/raw_store/kinds.rs","lineNumber":38,"sourceCode":"    fn name(&self) -> &str {\n        \"memory_store_kinds\"\n    }\n\n    fn description(&self) -> &str {\n        \"Return the catalog of memory_store storage kinds the active memory \\\n         driver persists. No arguments. Use when planning a multi-kind \\\n         retrieval fan-out.\"\n    }\n\n    fn parameters_schema(&self) -> serde_json::Value {\n        json!({ \"type\": \"object\", \"properties\": {} })\n    }\n\n    async fn execute(&self, _args: Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][memory_store] kinds start\");\n        let guard = active_memory_guard()\n            .await\n            .map_err(|e| anyhow::anyhow!(\"memory_store_kinds: {e}\"))?;\n        let kinds = guard\n            .as_chunks()\n            .ok_or_else(|| {\n                anyhow::anyhow!(\n                    \"memory_store_kinds: memory driver does not support the chunk family\"\n                )\n            })?\n            .storage_kinds()\n            .await\n            .map_err(|e| anyhow::anyhow!(\"memory_store_kinds: {e}\"))?;\n        log::debug!(\"[tool][memory_store] kinds success count={}\", kinds.len());\n        Ok(ToolResult::success(serde_json::to_string(\n            &json!({ \"kinds\": kinds }),\n        )?))\n    }\n}\n\n#[cfg(test)]","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/tools/raw_store/kinds.rs#L20-L56","documentation":"Error-surfacing wrapper in the memory_store_kinds tool's execute (argument-free tool): active_memory_guard() failed or the kinds catalog query on the driver failed. Means no memory driver is bound or the driver could not report its supported storage kinds — an environment/driver problem, not a bad-argument problem.","triggerScenarios":"Thrown at src/openhuman/memory/tools/raw_store/kinds.rs:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry after the memory driver binds","Check the underlying binding error in logs","Confirm the memory subsystem is enabled in this build"],"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"}