Crucible.Stage.Validate (CrucibleFramework v0.5.1)

View Source

Pre-flight validation of experiment pipeline stages.

This stage validates that all pipeline stages can be resolved and implement the Crucible.Stage behaviour. Domain-specific validation (backends, datasets, ensemble configuration, etc.) should be done by domain-specific stages.

Validation Checks

  1. All stage names resolve to modules (via registry or explicit module)
  2. Stage modules can be loaded
  3. Stage modules implement run/2

Configuration

Validation can be configured via stage options:

%StageDef{
  name: :validate,
  options: %{
    strict: true  # Fail on warnings (default: false)
  }
}

Examples

# Basic validation
pipeline: [%StageDef{name: :validate}, ...]

# Strict validation (warnings are errors)
pipeline: [%StageDef{name: :validate, options: %{strict: true}}, ...]