{"record":{"id":"049ea36a44a4e3ba","repo":"tinyhumansai/openhuman","slug":"invalid-arguments-for-memory-tree-query-source-e","errorCode":null,"errorMessage":"invalid arguments for memory_tree_query_source: {e}","messagePattern":"invalid arguments for memory_tree_query_source: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/query/query_source.rs","lineNumber":58,"sourceCode":"                    \"description\": \"Only return summaries whose time range overlaps the last N days.\"\n                },\n                \"query\": {\n                    \"type\": \"string\",\n                    \"description\": \"Optional natural-language query for cosine-similarity rerank.\"\n                },\n                \"limit\": {\n                    \"type\": \"integer\",\n                    \"minimum\": 0,\n                    \"description\": \"Max hits to return (default 10).\"\n                }\n            }\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][memory_tree] query_source invoked\");\n        let req: QuerySourceRequest = serde_json::from_value(args)\n            .map_err(|e| anyhow::anyhow!(\"invalid arguments for memory_tree_query_source: {e}\"))?;\n        // Validate arguments before touching config/disk — `SourceKind::parse`\n        // is pure, so a bad `source_kind` must fail with the parse error\n        // regardless of workspace state.\n        let source_kind = match req.source_kind.as_deref() {\n            Some(s) => Some(\n                SourceKind::parse(s)\n                    .map_err(|e| anyhow::anyhow!(\"memory_tree_query_source: {e}\"))?,\n            ),\n            None => None,\n        };\n        let resp = match req.source_id.as_deref() {\n            Some(source_id) => {\n                backend::query_source_scope(\n                    Some(source_id),\n                    req.time_window_days,\n                    req.query.as_deref(),\n                    req.limit.unwrap_or(10),\n                )","sourceCodeStart":40,"sourceCodeEnd":76,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/query/query_source.rs#L40-L76","documentation":"Deserializing query_source args into QuerySourceRequest failed — required source identifiers missing or wrongly typed. Validation runs before any config/disk access so a bad SourceKind parse error surfaces here too.","triggerScenarios":"Thrown at src/openhuman/memory/query/query_source.rs:58 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check source_id/source_kind field types against the schema","Use a valid source_kind string (chat, email, document)","Fix malformed JSON in the 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"}