A run whose work ended after the skill deadline with an error kept its earlier status, so a slow PostProcess that failed stored a bad_output row while the caller received a timeout. Any run past the deadline now stores provider_error, with the error text still wrapping the underlying error. Adds a test for the late-failure path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>