Skip to content

ExperimentRunner

NexusLabs.Foundry.Evaluation

NexusLabs.Foundry.Evaluation.Experiments

ExperimentRunner Class

Default bounded-worker implementation of IExperimentRunner.

public sealed class ExperimentRunner : NexusLabs.Foundry.Evaluation.Experiments.IExperimentRunner

Inheritance System.Object 🡒 ExperimentRunner

Implements IExperimentRunner

Constructors

ExperimentRunner() Constructor

Initializes an experiment runner that uses System.TimeProvider.System.

public ExperimentRunner();

ExperimentRunner(TimeProvider) Constructor

Initializes an experiment runner with the specified time provider.

public ExperimentRunner(System.TimeProvider? timeProvider);

Parameters

timeProvider System.TimeProvider

The time provider used for timestamps, durations, deadlines, and retry readiness. A null value uses System.TimeProvider.System.

Methods

ExperimentRunner.RunAsync<TCase,TOutput>(ExperimentDefinition<TCase,TOutput>, ExperimentRunOptions) Method

Materializes, validates, expands, and executes one experiment without caller cancellation.

public System.Threading.Tasks.Task<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOutcome<TCase,TOutput>> RunAsync<TCase,TOutput>(NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase,TOutput> definition, NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOptions options);

Type parameters

TCase

The caller-owned case value type.

TOutput

The caller-owned output type.

Parameters

definition NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase,TOutput>

The experiment definition.

options ExperimentRunOptions

The run options.

Implements RunAsync<TCase,TOutput>(ExperimentDefinition<TCase,TOutput>, ExperimentRunOptions)

Returns

System.Threading.Tasks.Task<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOutcome<TCase,TOutput>>
The canonical quality result plus independent publication outcomes.

ExperimentRunner.RunAsync<TCase,TOutput>(ExperimentDefinition<TCase,TOutput>, ExperimentRunOptions, CancellationToken) Method

Materializes, validates, expands, and executes one experiment with caller cancellation.

public System.Threading.Tasks.Task<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOutcome<TCase,TOutput>> RunAsync<TCase,TOutput>(NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase,TOutput> definition, NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOptions options, System.Threading.CancellationToken cancellationToken);

Type parameters

TCase

The caller-owned case value type.

TOutput

The caller-owned output type.

Parameters

definition NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase,TOutput>

The experiment definition.

options ExperimentRunOptions

The run options.

cancellationToken System.Threading.CancellationToken

A caller cancellation token.

Implements RunAsync<TCase,TOutput>(ExperimentDefinition<TCase,TOutput>, ExperimentRunOptions, CancellationToken)

Returns

System.Threading.Tasks.Task<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunOutcome<TCase,TOutput>>
The canonical quality result plus independent publication outcomes.

Exceptions

System.ArgumentNullException
definition or options is null.

System.ArgumentException
The experiment definition, run options, or materialized cases are invalid.

System.ArgumentOutOfRangeException
A run option, trial count, or policy value is outside its supported range.

System.OperationCanceledException
cancellationToken was canceled.