Decision Surface Descriptor
@Serializable
The complete description of one element's decision surface — what it may read, what it may write, what it is scored on, and when it decides.
Derived, never authored (§4.1.5). It is computed from the declaration on demand rather than stored or written by hand, which is what makes staleness structurally impossible: there is no second source of truth to fall out of step with the model.
It is also the authority for the positional convention. An observation or action vector is a bare DoubleArray; what gives entry i its meaning is this object's ith list entry, which is why a stored trajectory is only interpretable alongside the descriptor that was in force when it was written (§4.2.3, §14.1).
Constructors
Link copied to clipboard
constructor(schemaVersion: SchemaVersion = SchemaVersion(), name: String, observations: List<ObservationDescriptor>, levers: List<LeverDescriptor>, constraints: List<JointConstraint> = emptyList(), rewards: List<RewardDescriptor> = emptyList(), episode: EpisodeDescriptor = EpisodeDescriptor(), feasibility: FeasibilityPolicy = FeasibilityPolicy.REJECT)