tinyhumansai/openhuman · error · anyhow::Error

[chat-factory] provider string '{}' for role '{}' has an emp

Error message

[chat-factory] provider string '{}' for role '{}' has an empty slug

What it means

The configured provider string for a role contains a colon but an empty slug before it (e.g. ":gpt-4"). Guard on the split provider string before slug resolution; the message identifies the malformed string and role so the config typo is obvious.

Source

Thrown at src/openhuman/inference/provider/factory.rs:1015

            role,
            &resolve_primary_cloud_provider_string(config),
            config,
        );
    }

    #[cfg(not(test))]
    if let Err(error) = verify_session_active(config) {
        return error;
    }

    // Preserve the legacy chokepoint's disclosure ordering for invalid custom
    // routes: after both gates pass, the attempted external destination is
    // visible even when configuration validation then fails.
    emit_inference_egress(role, p);

    if let Some((slug, model_with_temperature)) = p.split_once(':') {
        if slug.trim().is_empty() {
            return anyhow::anyhow!(
                "[chat-factory] provider string '{}' for role '{}' has an empty slug",
                p,
                role
            );
        }
        let (model, _) = split_model_and_temperature(model_with_temperature);
        return match resolve_cloud_slug(role, slug.trim(), &model, config) {
            Err(error) => error,
            Ok(_) => anyhow::anyhow!(
                "[chat-factory] configured provider '{}' for role '{}' did not produce a crate-native chat model",
                p,
                role
            ),
        };
    }

    anyhow::anyhow!(
        "[chat-factory] unrecognised provider string '{}' for role '{}'. \

View on GitHub (pinned to 7491200858)

Solutions

  1. Fix the provider string to start with a valid slug (e.g. ollama:<model>, <slug>:<model>)
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/inference/provider/factory.rs:1015 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/8e8736848554437f. Report an issue: GitHub.