{"record":{"id":"068fb87b98581959","repo":"tinyhumansai/openhuman","slug":"remember-preference-e","errorCode":null,"errorMessage":"remember_preference: {e}","messagePattern":"remember_preference: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/agent/tools/remember_preference.rs","lineNumber":283,"sourceCode":"        let value = value_normalized.as_str();\n        if value.is_empty() {\n            return Ok(ToolResult::error(\"value cannot be empty\".to_string()));\n        }\n\n        let mem_key = pinned_key(class, key);\n        let content = pinned_content(class, key, value);\n\n        tracing::debug!(\n            \"[tool][remember_preference] upserting pinned preference: namespace={} key={} class={} value_len={}\",\n            PINNED_PREFERENCES_NAMESPACE,\n            mem_key,\n            class.as_str(),\n            value.len()\n        );\n\n        let guard = active_memory_guard()\n            .await\n            .map_err(|e| anyhow::anyhow!(\"remember_preference: {e}\"))?;\n        match guard\n            .store(\n                PINNED_PREFERENCES_NAMESPACE,\n                &mem_key,\n                &content,\n                // Core category — pinned preferences are permanent user facts.\n                MemoryCategory::Core,\n                None,\n                // Requested provenance; the guard stamps the effective value.\n                MemoryTaint::default(),\n            )\n            .await\n        {\n            Ok(()) => {\n                tracing::info!(\n                    \"[tool][remember_preference] pinned preference stored: \\\n                     namespace={} key={} class={} value_len={}\",\n                    PINNED_PREFERENCES_NAMESPACE,","sourceCodeStart":265,"sourceCodeEnd":301,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/agent/tools/remember_preference.rs#L265-L301","documentation":"Generic error wrapper around the memory upsert for a pinned preference in remember_preference: after normalizing class/key/value and acquiring the active memory guard, persisting to the pinned-preferences namespace failed. The prefixed message identifies the tool; the underlying error is the memory store's.","triggerScenarios":"Thrown at src/openhuman/agent/tools/remember_preference.rs:283 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the wrapped error for the memory-store cause (IO, lock, schema)","Verify the memory subsystem/module is available in this build","Retry once the memory guard or store contention clears"],"exampleFix":null,"handlingStrategy":"try-catch","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"}