Skip to content

ExperimentRunResult TCase,TOutput

NexusLabs.Foundry.Evaluation

NexusLabs.Foundry.Evaluation.Experiments

ExperimentRunResult<TCase,TOutput> Class

Provides the canonical ordered result for one provider-neutral experiment run.

public sealed record ExperimentRunResult<TCase,TOutput> : System.IEquatable<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunResult<TCase, TOutput>>

Type parameters

TCase

The caller-owned case value type.

TOutput

The caller-owned output type.

Inheritance System.Object 🡒 ExperimentRunResult\<TCase,TOutput>

Implements System.IEquatable<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunResult<TCase,TOutput>>

Constructors

ExperimentRunResult(string, string, ExperimentSourceReference, DateTimeOffset, TimeSpan, int, int, IReadOnlyList<ExperimentItemResult<TCase,TOutput>>, IReadOnlyList<ExperimentRunEvaluationResult>, IReadOnlyList<ExperimentPolicyResult>) Constructor

Initializes a validated canonical experiment run result.

public ExperimentRunResult(string runId, string experimentName, NexusLabs.Foundry.Evaluation.Experiments.ExperimentSourceReference source, System.DateTimeOffset startedAt, System.TimeSpan duration, int maxConcurrency, int workerCount, System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemResult<TCase,TOutput>> items, System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunEvaluationResult> runEvaluations, System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentPolicyResult> policyResults);

Parameters

runId System.String

The caller-supplied run identifier.

experimentName System.String

The experiment name.

source ExperimentSourceReference

The materialized source identity.

startedAt System.DateTimeOffset

The UTC run start time.

duration System.TimeSpan

The elapsed run duration.

maxConcurrency System.Int32

The configured maximum active attempt count.

workerCount System.Int32

The fixed number of worker tasks used by the run.

items System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemResult<TCase,TOutput>>

The ordered item results.

runEvaluations System.Collections.Generic.IReadOnlyList<ExperimentRunEvaluationResult>

The ordered run-evaluation results.

policyResults System.Collections.Generic.IReadOnlyList<ExperimentPolicyResult>

The ordered policy results.

Exceptions

System.ArgumentException
Identity, source, item ordering, item identity, run-evaluation names, or policy names are invalid or duplicated.

System.ArgumentNullException
A required value, collection, or collection element is null.

System.ArgumentOutOfRangeException
Time, duration, concurrency, or worker-count values are outside their supported range.

Fields

ExperimentRunResult<TCase,TOutput>.CurrentSchemaVersion Field

Gets the current canonical result schema version.

public const int CurrentSchemaVersion = 3;

Field Value

System.Int32

Properties

ExperimentRunResult<TCase,TOutput>.Decision Property

Gets the deterministic aggregate decision from required policies.

public NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunDecision Decision { get; }

Property Value

ExperimentRunDecision

ExperimentRunResult<TCase,TOutput>.Duration Property

Gets the elapsed run duration.

public System.TimeSpan Duration { get; }

Property Value

System.TimeSpan

ExperimentRunResult<TCase,TOutput>.ExperimentName Property

Gets the experiment name.

public string ExperimentName { get; }

Property Value

System.String

ExperimentRunResult<TCase,TOutput>.Items Property

Gets item results in stable source/trial sequence order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemResult<TCase,TOutput>> Items { get; }

Property Value

System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemResult<TCase,TOutput>>

ExperimentRunResult<TCase,TOutput>.MaxConcurrency Property

Gets the configured maximum active attempt count.

public int MaxConcurrency { get; }

Property Value

System.Int32

ExperimentRunResult<TCase,TOutput>.PolicyResults Property

Gets isolated policy results in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentPolicyResult> PolicyResults { get; }

Property Value

System.Collections.Generic.IReadOnlyList<ExperimentPolicyResult>

ExperimentRunResult<TCase,TOutput>.RunEvaluations Property

Gets isolated run-evaluation results in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.ExperimentRunEvaluationResult> RunEvaluations { get; }

Property Value

System.Collections.Generic.IReadOnlyList<ExperimentRunEvaluationResult>

ExperimentRunResult<TCase,TOutput>.RunId Property

Gets the caller-supplied run identifier.

public string RunId { get; }

Property Value

System.String

ExperimentRunResult<TCase,TOutput>.SchemaVersion Property

Gets the canonical result schema version.

public int SchemaVersion { get; }

Property Value

System.Int32

ExperimentRunResult<TCase,TOutput>.Source Property

Gets the materialized source identity.

public NexusLabs.Foundry.Evaluation.Experiments.ExperimentSourceReference Source { get; }

Property Value

ExperimentSourceReference

ExperimentRunResult<TCase,TOutput>.StartedAt Property

Gets the UTC run start time.

public System.DateTimeOffset StartedAt { get; }

Property Value

System.DateTimeOffset

ExperimentRunResult<TCase,TOutput>.WorkerCount Property

Gets the fixed number of worker tasks used by this run.

public int WorkerCount { get; }

Property Value

System.Int32