ExperimentRunOverrides

@Serializable
data class ExperimentRunOverrides(val numberOfReplications: Int? = null, val numChunks: Int? = null, val startingRepId: Int? = null, val lengthOfReplication: Double? = null, val lengthOfReplicationWarmUp: Double? = null, val replicationInitializationOption: Boolean? = null, val maximumAllowedExecutionTimePerReplication: Duration? = null, val resetStartStreamOption: Boolean? = null, val advanceNextSubStreamOption: Boolean? = null, val antitheticOption: Boolean? = null, val numberOfStreamAdvancesPriorToRunning: Int? = null, val garbageCollectAfterReplicationFlag: Boolean? = null)(source)

Partial-override counterpart to ksl.controls.experiments.ExperimentRunDefaults.

Each field is nullable; a null field means "inherit the model's default for this parameter." A non-null field means "override the model's default with this value." This is the run-parameter analogue of how controls and RV parameters override per key, on top of the model's intrinsic defaults.

Used by ksl.app.config.ScenarioSpec (post-reshape) to capture per-scenario run-parameter overrides without forcing the scenarios file to restate every field for every scenario. The final ksl.controls.experiments.ExperimentRunParameters handed to the engine at submit time is computed by the orchestrator as defaults + overrides + runtime-identity assignment; see applyTo.

Validation: when a field is non-null, it must satisfy the same bounds as the corresponding field on ExperimentRunDefaults. The bounds checks live in the init block below; the RunConfigurationValidator re-runs them at the document level to produce FieldErrors for the UI.

Constructors

Link copied to clipboard
constructor(numberOfReplications: Int? = null, numChunks: Int? = null, startingRepId: Int? = null, lengthOfReplication: Double? = null, lengthOfReplicationWarmUp: Double? = null, replicationInitializationOption: Boolean? = null, maximumAllowedExecutionTimePerReplication: Duration? = null, resetStartStreamOption: Boolean? = null, advanceNextSubStreamOption: Boolean? = null, antitheticOption: Boolean? = null, numberOfStreamAdvancesPriorToRunning: Int? = null, garbageCollectAfterReplicationFlag: Boolean? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

if non-null, the override

Link copied to clipboard

if non-null, the override

Link copied to clipboard

if non-null, the override

Link copied to clipboard

Returns true when every field is null, i.e. the scenario inherits every default from the model. An empty overrides object is equivalent to no overrides at all.

Link copied to clipboard

if non-null, the override; > 0.0

Link copied to clipboard

if non-null, the override; >= 0.0

if non-null, the override

Link copied to clipboard

if non-null, the override; >= 1

Link copied to clipboard

if non-null, the override; >= 0

Link copied to clipboard

if non-null, the override; >= 1

Link copied to clipboard

if non-null, the override

Link copied to clipboard

if non-null, the override

Link copied to clipboard

if non-null, the override; >= 1

Functions

Link copied to clipboard

Returns a fresh ExperimentRunDefaults equal to defaults with every non-null field of this overrides object overlaid on top. Fields left null here pass through from defaults unchanged.

Runtime variant of applyTo: layers non-null overrides onto a full ExperimentRunParameters while preserving the three runtime-identity fields (experimentName, experimentId, runName) of parameters. Used by the orchestrator to compute the final parameter set handed to the engine, starting from the model's current parameters (which carry KSL-assigned identity) and overlaying the scenario's overrides on top.