StepFailed is no AssertionError any more; sabotage.py counts a JUnit failure
named StepFailed as error, so an expected-red test only counts when its own
assertion fails.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Only <failure> of the expected tests counts as red; errors in them and a
malformed JUnit report exit 2 (invalid) instead of passing or exiting 1.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>