Covers the three paths raised in review: no registered callbacks (legacy per-step callback unchanged), start/step/end delivery with expected payloads, and end delivery with samples_shape=None when sampling raises.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>