{"record":{"id":"67a57e1098bf6460","repo":"tinyhumansai/openhuman","slug":"learning-cache-stats-e","errorCode":null,"errorMessage":"learning_cache_stats: {e:#}","messagePattern":"learning_cache_stats: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/agent/learning/tools.rs","lineNumber":181,"sourceCode":"        \"learning_cache_stats\"\n    }\n\n    fn description(&self) -> &str {\n        \"Report facet-cache health: total facets, counts by state \\\n         (active/provisional/candidate/dropped), and a per-class breakdown of \\\n         active facets.\"\n    }\n\n    fn parameters_schema(&self) -> serde_json::Value {\n        json!({ \"type\": \"object\", \"properties\": {} })\n    }\n\n    async fn execute(&self, _args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        log::debug!(\"[tool][learning] cache_stats invoked\");\n        let cache = get_cache()?;\n        let all = cache\n            .list_all()\n            .map_err(|e| anyhow::anyhow!(\"learning_cache_stats: {e:#}\"))?;\n        let count_state = |s: FacetState| all.iter().filter(|f| f.state == s).count();\n        let mut by_class: std::collections::HashMap<String, usize> =\n            std::collections::HashMap::new();\n        for f in all.iter().filter(|f| f.state == FacetState::Active) {\n            let cls = f\n                .class\n                .clone()\n                .or_else(|| f.key.split('/').next().map(str::to_string))\n                .unwrap_or_else(|| \"unknown\".to_string());\n            *by_class.entry(cls).or_insert(0) += 1;\n        }\n        Ok(ToolResult::success(serde_json::to_string(&json!({\n            \"total\": all.len(),\n            \"active\": count_state(FacetState::Active),\n            \"provisional\": count_state(FacetState::Provisional),\n            \"candidate\": count_state(FacetState::Candidate),\n            \"dropped\": count_state(FacetState::Dropped),\n            \"by_class\": by_class,","sourceCodeStart":163,"sourceCodeEnd":199,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/a221052e0df5b1f7598fceba7329fd1af95d6699/src/openhuman/agent/learning/tools.rs#L163-L199","documentation":"Error \"learning_cache_stats: {e:#}\" thrown in tinyhumansai/openhuman.","triggerScenarios":"Thrown at src/openhuman/agent/learning/tools.rs:181 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a221052e0df5b1f7598fceba7329fd1af95d6699","analyzedAt":"2026-08-16T12:47:06.542Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}