{"record":{"id":"0d106ebc82c57566","repo":"tinyhumansai/openhuman","slug":"source-not-found-sid","errorCode":null,"errorMessage":"source not found: {sid}","messagePattern":"source not found: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/memory/tools/diff.rs","lineNumber":111,"sourceCode":"        let config = config_rpc::load_config_with_timeout()\n            .await\n            .map_err(|e| anyhow::anyhow!(e))?;\n\n        if let Some(ckpt_id) = checkpoint_id {\n            debug!(\"[memory_diff][tool] branch=checkpoint_diff checkpoint_id={ckpt_id}\");\n            let diff = ops::diff_since_checkpoint(ckpt_id, &config, include_text_diff)\n                .await\n                .map_err(|e| anyhow::anyhow!(e))?;\n            let md = format_cross_source_diff(&diff);\n            return Ok(ToolResult::success(md));\n        }\n\n        if let Some(sid) = source_id {\n            debug!(\"[memory_diff][tool] branch=source_diff source_id={sid}\");\n            let source = tinymemory_core::sources::get_source(sid)\n                .await\n                .map_err(|e| anyhow::anyhow!(e))?\n                .ok_or_else(|| anyhow::anyhow!(\"source not found: {sid}\"))?;\n\n            let diff = if since_read {\n                ops::diff_since_read(&source, &config, include_text_diff, commit)\n                    .await\n                    .map_err(|e| anyhow::anyhow!(e))?\n            } else {\n                ops::diff_since_last(&source, &config, include_text_diff)\n                    .await\n                    .map_err(|e| anyhow::anyhow!(e))?\n            };\n            let md = format_diff_result(&diff);\n            return Ok(ToolResult::success(md));\n        }\n\n        debug!(\"[memory_diff][tool] branch=list_sources\");\n        // No source_id or checkpoint_id: list sources with snapshot counts\n        let sources = tinymemory_core::sources::list_sources()\n            .await","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/memory/tools/diff.rs#L93-L129","documentation":"memory_diff with a source_id argument: the requested source id does not exist among the configured/enabled memory sources, so there is no diff to compute. Distinguished from checkpoint diff, which is tried first.","triggerScenarios":"Thrown at src/openhuman/memory/tools/diff.rs:111 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["List memory sources and use an exact, enabled source id","Enable the disabled source in config before diffing","Check for typos in the source id"],"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"}