@startuml !include card-uml-style.iuml scale 620 width top to bottom direction class "01 Hazard3 timer\nmtime · mtimecmp" as Timer <> class "02 RV32I FreeRTOS port\nmachine-timer trap · tick hook" as Port <> class "03 FreeRTOS scheduler\nReady lists · priorities · time slice" as Scheduler <> class "04 C application tasks\npeerA · peerB · high probe · verifier" as Application <> Timer --> Port : interrupt when mtime >= mtimecmp Port --> Scheduler : xTaskIncrementTick() Scheduler --> Application : select highest-priority Ready task note right of Port Tick hook records bounded evidence only. Application uses public task APIs. end note @enduml