RVSpec
Serializable description of a random variable used in a NetworkSpec (an item lead time, a transport time, an inter-arrival time, a periodic review interval).
Pure data: an RVSpec carries no reference to a KSL RVariableIfc. ksl.modeling.supplychain.spec.SupplyChainBuilder materializes each spec into the corresponding KSL random variable with its stream number (D2). Keeping the spec free of runtime types lets a NetworkSpec be authored, serialized, diffed, and generated without a Model.
Stream numbers are explicit (a field on every stochastic variant) per the DSL plan §1 — reproducibility is the modeler's responsibility, and a saved spec must be deterministic. The Kotlin DSL (D4) adds an autoStream() allocator that materializes an assigned number into the spec.
v1 covers the variants the existing examples use (Constant, Exponential) plus a few common continuous distributions (Uniform, Triangular, Lognormal). Additional families are a mechanical follow-up: add a variant here and a branch in the builder's materializer.
Inheritors
Types
Exponential with the given mean and stream number.