tinyhumansai/openhuman · error

member graph compile failed: {e}

Error message

member graph compile failed: {e}

What it means

Compiling the tinyagents member-execution graph failed at builder.compile() — a structural error in the graph definition itself (e.g. a node referenced by an edge was never added, entry/finish not marked, or command routing points at a nonexistent node). This is a programming/config error in the member graph topology, not a runtime failure of the member's work.

Source

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

        async move {
            on_failed(s.payload.unwrap_or_default())
                .await
                .map_err(graph_err)?;
            Ok(NodeResult::Update(MemberUpdate::Noop))
        }
    });

    let graph = builder
        .add_node("done", |_s: MemberState, _c: NodeContext| async move {
            Ok(NodeResult::Update(MemberUpdate::Noop))
        })
        .add_edge("complete", "done")
        .add_edge("fail", "done")
        .set_entry("execute")
        .mark_command_routing("execute")
        .set_finish("done")
        .compile()
        .map_err(|e| anyhow::anyhow!("member graph compile failed: {e}"))?;
    Ok(graph)
}

/// Structure-only [`GraphTopology`] of the member-execution graph for debug /
/// inspection (issue #4249, Phase 4). Built with no-op stub closures — the
/// topology exposes only node names, edges, and routing, never closure bodies.
pub(crate) fn member_graph_topology() -> anyhow::Result<GraphTopology> {
    let graph = build_member_graph(
        || async {
            Ok(MemberOutcome::Completed {
                output: String::new(),
            })
        },
        |_: String| async { Ok(()) },
        |_: String| async { Ok(()) },
    )?;
    Ok(graph.topology())
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the graph construction just above (add_node/add_edge/set_entry/set_finish/mark_command_routing) for inconsistencies with the compile error's detail
  2. Ensure every edge target ('complete','fail','done') has a corresponding add_node
  3. Add a unit test that compiles the member graph so topology regressions fail at build time
Defensive patterns

Strategy: validation

When it happens

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