A failed /preview returned its error message to the caller but logged nothing about why. Every 5xx preview_request line now carries a fixed errorCode (deadline_exceeded, resource_mode_unsupported, chromium_unconfigured, browser_launch_failed, browser_crashed, browser_timeout, scene_not_found, empty_image or internal), derived from the error's name and known message prefixes; the message itself is never logged. 5xx preview lines are written at ERROR to stderr. HTTP responses are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>