@startuml !include card-uml-style.iuml scale 900 width left to right direction state "01 high Ready\npriority 0" as HighLow state "02 high Ready\npriority 3" as HighReady state "03 high Running" as HighRun state "04 high Deleted" as HighDeleted state "05 peers Ready / Running\npriority 2 ยท time sliced" as Peers state "06 peers Completed / Deleted" as PeersDone state "07 verifier Ready\npriority 1" as VerifyReady state "08 verifier Running\nPASS" as VerifyRun HighLow --> HighReady : peerA vTaskPrioritySet HighReady --> HighRun : preempts priority 2 HighRun --> HighDeleted : self-delete Peers --> Peers : tick rotates equal priority Peers --> PeersDone : stop after peerA returns VerifyReady --> VerifyRun : priorities 2/3 no longer Ready note bottom of Peers Ready does not mean Running. Priority selects first; time slicing acts only among equals. end note @enduml