Reuses the test skill for discovery and owns the loop after the first
red result: one root cause and one fix per iteration, with explicit
stop conditions so a stuck loop reports instead of thrashing. Skipping
or loosening tests is a report item, never a fix.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>