{"record":{"id":"3b13617a4e3ead39","repo":"tinyhumansai/openhuman","slug":"invalid-arguments-for-memory-tree-drill-down-e","errorCode":null,"errorMessage":"invalid arguments for memory_tree_drill_down: {e}","messagePattern":"invalid arguments for memory_tree_drill_down: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/query/drill_down.rs","lineNumber":53,"sourceCode":"                },\n                \"query\": {\n                    \"type\": \"string\",\n                    \"description\": \"Optional natural-language query — when set, children are reranked by cosine similarity.\"\n                },\n                \"limit\": {\n                    \"type\": \"integer\",\n                    \"minimum\": 0,\n                    \"description\": \"Optional cap on returned hits, applied after rerank.\"\n                }\n            },\n            \"required\": [\"node_id\"]\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][memory_tree] drill_down invoked\");\n        let req: DrillDownRequest = serde_json::from_value(args)\n            .map_err(|e| anyhow::anyhow!(\"invalid arguments for memory_tree_drill_down: {e}\"))?;\n        if matches!(req.max_depth, Some(0)) {\n            return Err(anyhow::anyhow!(\n                \"memory_tree_drill_down: max_depth must be >= 1\"\n            ));\n        }\n        let hits = backend::drill_down(\n            &req.node_id,\n            req.max_depth.unwrap_or(1),\n            req.query.as_deref(),\n            req.limit,\n        )\n        .await?;\n        log::debug!(\n            \"[tool][memory_tree] drill_down returning hits={}\",\n            hits.len()\n        );\n        let json = serde_json::to_string(&hits)?;\n        Ok(ToolResult::success(json))","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/query/drill_down.rs#L35-L71","documentation":"Argument-deserialization wrapper in the memory_tree_drill_down tool's execute: serde_json::from_value failed to shape the raw args into the tool's request struct (e.g. `node_id` missing or wrong type — the schema requires node_id, with optional query and limit). This is a generic sentinel: the inner serde message is embedded, so read the `{e}` text for the exact field at fault.","triggerScenarios":"Thrown at src/openhuman/memory/query/drill_down.rs:53 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Supply node_id as a string from a prior cover_window/query_source result","Check query/limit/max_depth types match the schema","Fix malformed JSON in the tool arguments"],"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"}