{"record":{"id":"c1cec0fe41306565","repo":"tinyhumansai/openhuman","slug":"invalid-arguments-for-memory-tools-list-e","errorCode":null,"errorMessage":"invalid arguments for memory_tools_list: {e}","messagePattern":"invalid arguments for memory_tools_list: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/tools/tool_memory/list.rs","lineNumber":56,"sourceCode":"         updated_at DESC within each priority.\"\n    }\n\n    fn parameters_schema(&self) -> serde_json::Value {\n        json!({\n            \"type\": \"object\",\n            \"required\": [\"tool_name\"],\n            \"properties\": {\n                \"tool_name\": {\n                    \"type\": \"string\",\n                    \"description\": \"Exact tool name (e.g. `bash`, `web_search`).\"\n                }\n            }\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        let parsed: Args = serde_json::from_value(args)\n            .map_err(|e| anyhow::anyhow!(\"invalid arguments for memory_tools_list: {e}\"))?;\n        log::debug!(\"[tool][memory_tools] list tool_name={}\", parsed.tool_name);\n        let guard = active_memory_guard()\n            .await\n            .map_err(|e| anyhow::anyhow!(\"memory_tools_list: {e}\"))?;\n        let rules = guard\n            .as_tool_memory()\n            .ok_or_else(|| anyhow::anyhow!(\"memory_tools_list: {NO_TOOL_MEMORY}\"))?\n            .tool_rules(&parsed.tool_name)\n            .await\n            .map_err(|e| anyhow::anyhow!(\"memory_tools_list: {e}\"))?;\n        log::debug!(\n            \"[tool][memory_tools] list via guard tool_name={} rules={}\",\n            parsed.tool_name,\n            rules.len()\n        );\n        let json = serde_json::to_string(&rules)?;\n        Ok(ToolResult::success(json))\n    }","sourceCodeStart":38,"sourceCodeEnd":74,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/tools/tool_memory/list.rs#L38-L74","documentation":"The `memory_tools_list` arguments failed serde deserialization into its typed `Args` struct. The only required field is `tool_name` (an exact tool name like `bash` or `web_search`), so this fires when `tool_name` is missing, not a string, or when extra malformed fields are present — `{e}` names the field and expected type.","triggerScenarios":"Thrown at src/openhuman/memory/tools/tool_memory/list.rs:56 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass `tool_name` as a string exactly matching a tool name","Remove fields not declared in the schema","Use the serde detail in `{e}` to find the mismatched field"],"exampleFix":null,"handlingStrategy":"validation","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"}