tinyhumansai/openhuman · error

memory_tree_query_source: {e}

Error message

memory_tree_query_source: {e}

What it means

Argument-deserialization wrapper in the memory_tree_query_source tool's execute: serde_json::from_value could not shape args into QuerySourceRequest (wrong types or missing required fields for the source query). Generic sentinel carrying the serde detail in `{e}`. The comment below it notes args are validated before config/disk access, so no store was touched.

Source

Thrown at src/openhuman/memory/query/query_source.rs:65

                    "type": "integer",
                    "minimum": 0,
                    "description": "Max hits to return (default 10)."
                }
            }
        })
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][memory_tree] query_source invoked");
        let req: QuerySourceRequest = serde_json::from_value(args)
            .map_err(|e| anyhow::anyhow!("invalid arguments for memory_tree_query_source: {e}"))?;
        // Validate arguments before touching config/disk — `SourceKind::parse`
        // is pure, so a bad `source_kind` must fail with the parse error
        // regardless of workspace state.
        let source_kind = match req.source_kind.as_deref() {
            Some(s) => Some(
                SourceKind::parse(s)
                    .map_err(|e| anyhow::anyhow!("memory_tree_query_source: {e}"))?,
            ),
            None => None,
        };
        let resp = match req.source_id.as_deref() {
            Some(source_id) => {
                backend::query_source_scope(
                    Some(source_id),
                    req.time_window_days,
                    req.query.as_deref(),
                    req.limit.unwrap_or(10),
                )
                .await?
            }
            None => {
                backend::query_source_kind(
                    source_kind,
                    req.time_window_days,
                    req.query.as_deref(),

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry after driver binding completes at boot
  2. Inspect the underlying binding error in core logs
  3. Confirm a retrieval-capable driver is configured
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/memory/query/query_source.rs:65 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/0f3184d7eae48954. Report an issue: GitHub.