Concept-Check: The Scheduler
This is the arc where the coordinator became an engine. It claims a queued run, splits it into one job per model×epoch, and drives those jobs at a bounded concurrency it chooses — retrying the retryable failures on the next worker in the pool and letting the terminal ones surface. Then it wraps that in a loop that can be stopped without loss: a shutdown that drains the in-flight run rather than dropping its jobs. And every worker it touches is a dyn WorkerHandle, so the whole thing is ready for remote workers to plug in behind the same seam. If the pieces below are solid — the bound, the retry condition, and where the shutdown check goes — the cluster arc has an engine worth distributing.