allocationRuleName

@set:KSLStringControl(allowedValues = ["Closest", "Furthest", "LeastUsed", "Cyclical"], comment = "Which idle transporter of the pool is sent to a pickup")
open override var allocationRuleName: String(source)

The allocation rule by name, so a scenario or an app can change it without holding a rule object. Reading it reports the rule's own toString when the rule is one no name stands for -- a ksl.modeling.guidedpath.rules.RandomTransporterRule, say, which takes a stream.