tinyhumansai/openhuman · error

member graph run failed: {e}

Error message

member graph run failed: {e}

What it means

The tinyagents graph engine returned an error while driving an agent-team member's execution graph (built by build_member_graph with execute/complete/fail/done nodes and a GraphTracingSink). This wraps the engine-level failure of the whole member run — node panic, engine limit, or an error propagated through graph_err from the on_complete/on_failed callbacks — as it propagates out of the team-member execution driver.

Source

Thrown at src/openhuman/agent/orchestration/agent_teams/graph.rs:105

    WF: Future<Output = anyhow::Result<MemberOutcome>> + Send + 'static,
    C: Fn(String) -> CF + Clone + Send + Sync + 'static,
    CF: Future<Output = anyhow::Result<()>> + Send + 'static,
    F: Fn(String) -> FF + Clone + Send + Sync + 'static,
    FF: Future<Output = anyhow::Result<()>> + Send + 'static,
{
    let graph = build_member_graph(run_worker, on_complete, on_failed)?
        .with_event_sink(Arc::new(GraphTracingSink::new(label.to_string())));

    tracing::debug!(
        target: "orchestration",
        label,
        "[orchestration] driving team member execution on tinyagents graph"
    );

    graph
        .run(MemberState::default())
        .await
        .map_err(|e| anyhow::anyhow!("member graph run failed: {e}"))?;
    Ok(())
}

/// Build (but do not run) the member-execution `CompiledGraph`. Shared by
/// [`run_member_execution_graph`] and [`member_graph_topology`] so the graph's
/// structure has one definition.
fn build_member_graph<W, WF, C, CF, F, FF>(
    run_worker: W,
    on_complete: C,
    on_failed: F,
) -> anyhow::Result<CompiledGraph<MemberState, MemberUpdate>>
where
    W: Fn() -> WF + Clone + Send + Sync + 'static,
    WF: Future<Output = anyhow::Result<MemberOutcome>> + Send + 'static,
    C: Fn(String) -> CF + Clone + Send + Sync + 'static,
    CF: Future<Output = anyhow::Result<()>> + Send + 'static,
    F: Fn(String) -> FF + Clone + Send + Sync + 'static,
    FF: Future<Output = anyhow::Result<()>> + Send + 'static,

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the GraphTracingSink trace events for the member label to find which node failed
  2. Handle the member as failed via the graph's fail path (on_failed) so the team records the failure instead of hanging
  3. Fix the underlying worker/callback error identified in the trace and re-drive the member
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/agent/orchestration/agent_teams/graph.rs:105 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/3183760dc52c4bfd. Report an issue: GitHub.