{"record":{"id":"990012ca38879e1b","repo":"tinyhumansai/openhuman","slug":"memory-driver-does-not-support-the-profile-family","errorCode":null,"errorMessage":"memory driver does not support the profile family","messagePattern":"memory driver does not support the profile family","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/openhuman/agent/learning/cache.rs","lineNumber":73,"sourceCode":"    /// Test-only: production must go through the guard so the policy layer is\n    /// on the path.\n    ///\n    /// Not `#[cfg(test)]` — integration tests link the lib without it, and a\n    /// gated constructor is invisible to them. `#[doc(hidden)]` keeps it off\n    /// the public docs instead.\n    #[doc(hidden)]\n    #[must_use]\n    pub fn for_tests(profile: Arc<dyn MemoryProfile>) -> Self {\n        Self {\n            source: Source::Direct(profile),\n        }\n    }\n\n    /// The profile family, or a caller-facing error.\n    fn profile(&self) -> anyhow::Result<&dyn MemoryProfile> {\n        match &self.source {\n            Source::Guard(guard) => guard.as_profile().ok_or_else(|| {\n                anyhow::anyhow!(\"memory driver does not support the profile family\")\n            }),\n            Source::Direct(profile) => Ok(profile.as_ref()),\n        }\n    }\n\n    /// List all facets with `state = 'active'`, ordered by stability descending.\n    pub async fn list_active(&self) -> anyhow::Result<Vec<ProfileFacet>> {\n        Ok(self.profile()?.list_active_facets().await?)\n    }\n\n    /// List all facets (all states), ordered by stability descending.\n    pub async fn list_all(&self) -> anyhow::Result<Vec<ProfileFacet>> {\n        Ok(self.profile()?.list_all_facets().await?)\n    }\n\n    /// List active facets belonging to a specific class.\n    ///\n    /// Class is determined by the `key` prefix before the first `/`.","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/agent/learning/cache.rs#L55-L91","documentation":"The FacetCache was built over a memory driver that does not implement the profile facet family (MemoryProfile capability). Asking for the profile returns this caller-facing error: the bound driver (e.g. the null provider or a module release without profile support) lacks the capability, so no profile can be read.","triggerScenarios":"Thrown at src/openhuman/agent/learning/cache.rs:73 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure a memory driver with profile-facet support is bound (check memory module/binding configuration)","Update the memory module to a release that serves the profile family","Degrade gracefully: skip profile-dependent behaviour when the driver reports this capability gap"],"exampleFix":null,"handlingStrategy":"type-guard","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-14T05:17:10.506Z"}