A rehearsal courier temporarily fails on the first handoff. Run this script: sendCue rejects once, then succeeds, so the Console prints Delivered: rehearsal cue | attempts: 2. The catch retries only while the attempt budget remains; it never swallows a permanent failure.
Change maxAttempts to 1 and inspect the logged failure, then restore it. The final project applies this pattern to an offline score upload that may keep failing after the retry budget runs out.