When _get_screenshots() collects screenshots for a multi-tab dashboard, a
tiled screenshot failure on one tab would be silently dropped by the walrus
truthiness filter, leaving the remaining tabs' screenshots to be sent as a
partial PDF.
Raise ReportScheduleScreenshotFailedError immediately on the first None
result so the "do not send bad output silently" guarantee holds regardless
of how many tabs the report has.
Also add -> None return annotation to the new test method.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>