tinyhumansai/openhuman · error · anyhow::Error

people_resolve: {e}

Error message

people_resolve: {e}

What it means

people_resolve failed after parsing the handle — either the driver's resolve call errored, or create_if_missing semantics could not be applied. The underlying error is chained with the tool name prefix.

Source

Thrown at src/openhuman/memory/tools/people.rs:161

        })
    }

    fn permission_level(&self) -> PermissionLevel {
        // May mint a new person record when create_if_missing is set.
        PermissionLevel::Write
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][people] resolve invoked");
        let handle = parse_handle(&args)?;
        let create = args
            .get("create_if_missing")
            .and_then(serde_json::Value::as_bool)
            .unwrap_or(false);
        let guard = people_guard().await?;
        let outcome = rpc::handle_resolve(guard.as_people().expect("checked"), handle, create)
            .await
            .map_err(|e| anyhow::anyhow!("people_resolve: {e}"))?;
        Ok(ToolResult::success(serde_json::to_string(&outcome.value)?))
    }
}

/// Score breakdown for a person.
pub struct PeopleScoreTool;

#[async_trait]
impl Tool for PeopleScoreTool {
    fn name(&self) -> &str {
        "people_score"
    }

    fn description(&self) -> &str {
        "Return the closeness score and its components (recency, frequency, \
         reciprocity, depth) plus interaction count for one `person_id`."
    }

View on GitHub (pinned to 7491200858)

Solutions

  1. Check the chained error for the resolve failure cause
  2. Retry transient driver errors
  3. Verify the handle kind/value parse correctly before resolving
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/memory/tools/people.rs:161 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/0b5a3d19721ec9da. Report an issue: GitHub.