tinyhumansai/openhuman · error · AgentError::RegistryValidationFailed

Capability registry validation failed ({} error diagnostic(s

Error message

Capability registry validation failed ({} error diagnostic(s)): {}

What it means

Raised at the end of capability-registry validation when at least one diagnostic had error severity (as opposed to warnings, which are only logged non-fatally). Each error diagnostic is a malformed capability declaration — wrong kind, name, or message — collected during registry build; the turn is aborted because an invalid capability registry cannot be trusted to gate what the model is allowed to do. The message counts the diagnostics and lists them as '[kind] name: message' lines.

Source

Thrown at src/openhuman/agent/tinyagents/mod.rs:633

                name = %diag.name,
                "[registry] non-fatal diagnostic: {}",
                diag.message
            );
        }
        if !errors.is_empty() {
            let messages: Vec<String> = errors
                .iter()
                .map(|d| format!("[{}] {}: {}", d.kind.as_str(), d.name, d.message))
                .collect();
            for msg in &messages {
                tracing::error!("[registry] error-severity diagnostic aborting turn: {msg}");
            }
            tracing::error!(
                error_count = messages.len(),
                warning_count = warnings.len(),
                "[registry] aborting turn before model dispatch: capability registry validation failed"
            );
            return Err(anyhow::Error::new(
                crate::openhuman::agent::error::AgentError::RegistryValidationFailed {
                    diagnostics: messages,
                },
            ));
        }
        tracing::debug!(
            warning_count = warnings.len(),
            "[registry] registry diagnostics present (warnings only); proceeding with turn"
        );
    }

    let mut config = RunConfig::new("agent_turn")
        .with_max_model_calls(max_iterations)
        .with_max_tool_calls(max_iterations.saturating_mul(8).max(8))
        .with_max_depth(MAX_SPAWN_DEPTH)
        .with_tag("openhuman")
        .with_tag(if subagent_scope.is_some() {
            "scope:subagent"

View on GitHub (pinned to 7491200858)

Solutions

  1. Read the enumerated per-diagnostic messages logged just before this error to identify which capability declarations are malformed
  2. Fix or remove the offending capability entries in the registry source/config that produced them
  3. Re-run and confirm validation completes with only non-fatal warnings
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/agent/tinyagents/mod.rs:633 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/fc33d52317f61c48. Report an issue: GitHub.