@startuml !include card-uml-style.iuml scale 900 width left to right direction class "01 PeerContext [2]" as Peers <> { id : uint32_t configured_priority : UBaseType_t = 2 handle : TaskHandle_t iterations · checksum first_tick · last_tick entry_sp · stack range } class "02 HighProbeContext" as Probe <> { initial_priority = 0 target_priority = 3 handle : TaskHandle_t run_tick ran_before_caller_returned } class "03 VerifierContext" as Verify <> { configured_priority = 1 handle : TaskHandle_t pass } class "04 switch trace" as SwitchTrace <> { task[16] tick[16] count · changes captured A · B · A } class "05 preemption markers" as OrderTrace <> { 1 = before_raise 2 = high_probe 3 = after_raise } Peers --> SwitchTrace : one entry per observed task change Peers --> Probe : vTaskPrioritySet(handle, 3) Probe --> OrderTrace : marker 2 Peers --> OrderTrace : markers 1 and 3 Verify --> Peers : checks both Verify --> Probe : checks preemption proof note bottom of SwitchTrace A→B→A is a committed subsequence. Repeated loop iterations are not logged. end note @enduml