pub fn validate(config: &PipelineConfig) -> Result<(), Vec<ConfigError>>Expand description
Validate all semantic constraints on a PipelineConfig.
Collects every violation before returning so the caller sees the full scope of issues at once.
§Arguments
config— The parsed config to validate.
§Returns
Ok(())if all constraints pass.Err(Vec<ConfigError>)with every violation found.
§Errors
Returns Err(Vec<ConfigError>) containing one ConfigError::InvalidField
entry per violated rule. The possible violations are:
resilience.retry_base_ms > resilience.retry_max_msresilience.retry_attempts == 0resilience.circuit_breaker_success_rateoutside[0.0, 1.0]resilience.circuit_breaker_threshold == 0resilience.circuit_breaker_timeout_s == 0stages.inference.temperatureoutside[0.0, 2.0](whenSome)stages.inference.modelis blank or whitespace-onlypipeline.nameis blank or whitespace-onlypipeline.versionis blank or whitespace-onlystages.rag.timeout_ms == 0when RAG is enabledstages.rag.max_context_tokens == 0when RAG is enabledstages.rag.channel_capacity == Some(0)stages.assemble.channel_capacity == 0stages.post_process.channel_capacity == 0stages.stream.channel_capacity == 0deduplication.window_s == 0when deduplication is enableddeduplication.max_entries == 0when deduplication is enabledobservability.metrics_port == Some(0)
§Panics
This function never panics.