harness/screenshot.py: best-effort Playwright capture of the live app (reuses harness browser). Default = landing page (credential-free, secret-safe R7); recipes needing post-login opt into a recipe-meta SCREENSHOT hook responsible for avoiding secret pages. Every failure swallowed -> None (cosmetics never block, R7). Pure helpers unit-tested. Orchestrator wiring + live demo come after U0 PASSes (avoid deploy contention with the Adversary's cold U0 re-runs). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>