PASS S1 drain required (app was SIGSTOP/frozen)
PASS S1 no drain needed (media keep-alive, never stopped)
PASS S1 drain window > SDK 200ms throttle
PASS S1b keep-alive app needs EVIOCGRAB isolation
PASS S1b frozen app -> SIGCONT drain, not grab
PASS S1b keep-alive: grab path (drain==0)
PASS S1b frozen: drain path (grab==0)
PASS S2 force status bar re-sync after unlock
PASS S2b lock re-cover ms > SDK suppression window (200ms)
PASS S2b lock re-cover ms = 300 (marker-window margin)
PASS S1c wake, no sleep -> no lock
PASS S1c timeout sleep (auto) -> lock
PASS S1c manual power sleep (manual) -> lock (was missing)
PASS S1c both -> lock
PASS S4 system 0 (never) -> lock caps 30s
PASS S4 system absent -> lock caps 30s
PASS S4 system 30 -> 30
PASS S4 system 60 -> 30 (cap, shorter)
PASS S4 system 10 -> 10 (respect shorter)
PASS S4 system 1 -> 1 (respect shorter)
PASS S4 idle>=off & screen on -> self sleep
PASS S4 idle<off -> not yet
PASS S4 screen off -> no re-sleep
PASS S4 power edge -> wake to lock
PASS S4 touch -> wake to lock
PASS S4 no wake input -> stay asleep
PASS S3 app died -> unified exit path (redraw home)
PASS S3 app alive -> normal restore
PASS S3 abort=0 (menu lock, no overlay pid)
PASS S3 abort=0 (no overlay pid, zombie ignored)
PASS S3 abort=0 (overlay pid, app alive)
PASS S3 abort=1 (overlay pid + zombie -> abort lock)

ALL PASS (32 passed, 0 failed)
