Background jobs are a solved problem until they aren't. A job starts, your server restarts during a deploy, and you're left with half-processed records and no way to resume. Temporal solves this by storing workflow state in a database and replaying from checkpoints. Here's how it works in practice. The Problem Temporal Solves // Without Temporal — fragile async function processOrder(orderId: st