@startuml skinparam backgroundColor #FFFFFF skinparam defaultFontName Arial skinparam defaultFontSize 14 skinparam shadowing false title Candidate and active runtime (conceptual states) [*] --> Candidate : accepted complete PUT Candidate --> Refreshing : compilation / execution succeeds Candidate --> Rejected : compilation / execution error Refreshing --> Refreshing : yield / continue refresh Refreshing --> Active : valid document + matching submission Refreshing --> Superseded : newer write / delete Active --> Active : Console / input / task completion Active --> Faulted : callback or refresh fault Active --> Retired : replace / reset / delete / shutdown Faulted --> Retired : cleanup or replace Rejected --> [*] Superseded --> [*] Retired --> [*] @enduml