Single Run
data class SingleRun(val model: Model, val attachments: List<RunAttachmentIfc> = emptyList()) : RunRequest(source)
A request to execute a single pre-built Model.
The caller is responsible for configuring the model (number of replications, replication length, controls, etc.) before passing it to Runner.submit. Runner does not retain the model after the run completes; reconfiguring and re-running typically requires rebuilding the model, as ConcurrentScenarioRunner already does.
Phase 2 will add RunConfiguration-based construction so that a model can be fully specified as a serialisable input bundle. At that point SingleRun may optionally accept a RunConfiguration as an alternative to a live Model instance.