Wraps an engine's optional progress callback so reporting can never take the run down: a callback that throws is logged and ignored, and no callback at all is a silent no-op.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
