tinyhumansai/openhuman · error · anyhow::Error

remember_preference: {e}

Error message

remember_preference: {e}

What it means

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.

Source

Thrown at src/openhuman/agent/tools/remember_preference.rs:283

        let value = value_normalized.as_str();
        if value.is_empty() {
            return Ok(ToolResult::error("value cannot be empty".to_string()));
        }

        let mem_key = pinned_key(class, key);
        let content = pinned_content(class, key, value);

        tracing::debug!(
            "[tool][remember_preference] upserting pinned preference: namespace={} key={} class={} value_len={}",
            PINNED_PREFERENCES_NAMESPACE,
            mem_key,
            class.as_str(),
            value.len()
        );

        let guard = active_memory_guard()
            .await
            .map_err(|e| anyhow::anyhow!("remember_preference: {e}"))?;
        match guard
            .store(
                PINNED_PREFERENCES_NAMESPACE,
                &mem_key,
                &content,
                // Core category — pinned preferences are permanent user facts.
                MemoryCategory::Core,
                None,
                // Requested provenance; the guard stamps the effective value.
                MemoryTaint::default(),
            )
            .await
        {
            Ok(()) => {
                tracing::info!(
                    "[tool][remember_preference] pinned preference stored: \
                     namespace={} key={} class={} value_len={}",
                    PINNED_PREFERENCES_NAMESPACE,

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the wrapped error for the memory-store cause (IO, lock, schema)
  2. Verify the memory subsystem/module is available in this build
  3. Retry once the memory guard or store contention clears
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/agent/tools/remember_preference.rs:283 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/068fb87b98581959. Report an issue: GitHub.