@startuml
!include card-uml-style.iuml
scale 900 width
hide footbox
skinparam ParticipantPadding 16
participant "main" as Main
participant "Scheduler" as Scheduler
participant "tick hook" as Tick
participant "high probe" as High
participant "peerA" as A
participant "peerB" as B
participant "verifier" as Verify
A -> A : 08 marker before_raise
A -> Scheduler : vTaskPrioritySet(high, 3)
activate Scheduler
Scheduler -> High : 09 immediate higher-priority selection
activate High
High -> High : marker HIGH
High -> Scheduler : vTaskDelete(NULL)
deactivate High
Scheduler -> A : return to caller
deactivate Scheduler
||26||
A -> A : 10 marker after_raise; request stop
A -> Scheduler : self-delete after bounded cleanup
B -> Scheduler : 11 second peer finishes and self-deletes
||26||
Scheduler -> Verify : 12 lowest-priority verifier publishes PASS
note over Scheduler,Verify
Exact claim: marker projection before → HIGH → after.
Another Ready task may legally run before peerA is selected again.
end note
@enduml