Shadow logger failure test
Static review: FileOpen/FileWrite failure sets shadow logger health/dropped-row counters and prints once; no return from OnTick and no order suppression. Dynamic failure injection not run.
