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
- Check the chained error for the resolve failure cause
- Retry transient driver errors
- 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.