tinyhumansai/openhuman · error · anyhow::Error
memory driver does not support the profile family
Error message
memory driver does not support the profile family
What it means
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.
Source
Thrown at src/openhuman/agent/learning/cache.rs:73
/// Test-only: production must go through the guard so the policy layer is
/// on the path.
///
/// Not `#[cfg(test)]` — integration tests link the lib without it, and a
/// gated constructor is invisible to them. `#[doc(hidden)]` keeps it off
/// the public docs instead.
#[doc(hidden)]
#[must_use]
pub fn for_tests(profile: Arc<dyn MemoryProfile>) -> Self {
Self {
source: Source::Direct(profile),
}
}
/// The profile family, or a caller-facing error.
fn profile(&self) -> anyhow::Result<&dyn MemoryProfile> {
match &self.source {
Source::Guard(guard) => guard.as_profile().ok_or_else(|| {
anyhow::anyhow!("memory driver does not support the profile family")
}),
Source::Direct(profile) => Ok(profile.as_ref()),
}
}
/// List all facets with `state = 'active'`, ordered by stability descending.
pub async fn list_active(&self) -> anyhow::Result<Vec<ProfileFacet>> {
Ok(self.profile()?.list_active_facets().await?)
}
/// List all facets (all states), ordered by stability descending.
pub async fn list_all(&self) -> anyhow::Result<Vec<ProfileFacet>> {
Ok(self.profile()?.list_all_facets().await?)
}
/// List active facets belonging to a specific class.
///
/// Class is determined by the `key` prefix before the first `/`.View on GitHub (pinned to 7491200858)
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
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at src/openhuman/agent/learning/cache.rs:73 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/990012ca38879e1b.
Report an issue: GitHub.