{"record":{"id":"7fe2a8ebc2783825","repo":"tinyhumansai/openhuman","slug":"invalid-arguments-for-memory-store-raw-chunks-e","errorCode":null,"errorMessage":"invalid arguments for memory_store_raw_chunks: {e}","messagePattern":"invalid arguments for memory_store_raw_chunks: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/tools/raw_store/raw_chunks.rs","lineNumber":70,"sourceCode":"            \"properties\": {\n                \"source_kind\": { \"type\": \"string\", \"enum\": [\"chat\", \"email\", \"document\"] },\n                \"source_id\":   { \"type\": \"string\", \"description\": \"Exact source id.\" },\n                \"owner\":       { \"type\": \"string\", \"description\": \"Owner / account filter.\" },\n                \"since_ms\":    { \"type\": \"integer\", \"description\": \"Inclusive lower bound on timestamp_ms.\" },\n                \"until_ms\":    { \"type\": \"integer\", \"description\": \"Inclusive upper bound on timestamp_ms.\" },\n                \"tags_all_of\": {\n                    \"type\": \"array\",\n                    \"items\": { \"type\": \"string\" },\n                    \"description\": \"Post-filter: chunk.metadata.tags must contain every tag listed.\"\n                },\n                \"limit\":       { \"type\": \"integer\", \"minimum\": 1, \"maximum\": 1000, \"description\": \"Default 100.\" }\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_store_raw_chunks: {e}\"))?;\n        log::debug!(\n            \"[tool][memory_store] raw_chunks source_kind={:?} owner={:?} tags={:?} limit={:?}\",\n            parsed.source_kind,\n            parsed.owner,\n            parsed.tags_all_of,\n            parsed.limit\n        );\n        let source_kind = match parsed.source_kind.as_deref() {\n            Some(s) => Some(\n                SourceKind::parse(s)\n                    .map_err(|e| anyhow::anyhow!(\"memory_store_raw_chunks: {e}\"))?,\n            ),\n            None => None,\n        };\n        if let Some(limit) = parsed.limit {\n            if !(1..=1000).contains(&limit) {\n                return Err(anyhow::anyhow!(\n                    \"memory_store_raw_chunks: limit must be between 1 and 1000\"","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/tools/raw_store/raw_chunks.rs#L52-L88","documentation":"Argument-deserialization wrapper in the memory_store_raw_chunks tool's execute: args failed to deserialize into the tool's Args struct (bad types for source_kind/source_id/owner/since_ms/until_ms/tags_all_of/limit). Generic sentinel with the serde detail in `{e}`; fires before the SourceKind parse and driver query.","triggerScenarios":"Thrown at src/openhuman/memory/tools/raw_store/raw_chunks.rs:70 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Match field types to the schema (arrays for tags, integers for bounds)","Use valid source_kind enum values where provided","Fix malformed JSON in the tool call"],"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"}