tinyhumansai/openhuman · error · anyhow::Error
people_list: {e}
Error message
people_list: {e} What it means
The people_list RPC handler (after guard acquisition and limit parsing) returned an error. The chained {e} comes from the driver's list_people call; the tool name prefix identifies the failing surface.
Source
Thrown at src/openhuman/memory/tools/people.rs:110
json!({
"type": "object",
"properties": {
"limit": { "type": "integer", "minimum": 1, "description": "Max contacts (default 100, cap 500)." }
}
})
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][people] list invoked");
let limit = args
.get("limit")
.and_then(serde_json::Value::as_u64)
.map(|v| v as usize)
.unwrap_or(100);
let guard = people_guard().await?;
let outcome = rpc::handle_list(guard.as_people().expect("checked"), limit)
.await
.map_err(|e| anyhow::anyhow!("people_list: {e}"))?;
Ok(ToolResult::success(serde_json::to_string(&outcome.value)?))
}
fn is_concurrency_safe(&self, _args: &serde_json::Value) -> bool {
true
}
}
/// Resolve a handle to a person id.
pub struct PeopleResolveTool;
#[async_trait]
impl Tool for PeopleResolveTool {
fn name(&self) -> &str {
"people_resolve"
}
fn description(&self) -> &str {View on GitHub (pinned to 7491200858)
Solutions
- Read the chained driver error for the real cause
- Retry transient store/module failures
- Check the people store health in the memory domain
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/people.rs:110 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/f4a79eac617d2e92.
Report an issue: GitHub.