Jobs: durable task runner with fence + retry + force-takeover
Postgres-backed task framework via createTaskRunner. Per-attempt fence in
Postgres + an optional Redis mirror via createRedisFence; an idempotency store
(createIdempotencyStore) caches results so a retry with the same key returns the
cached output instead of duplicating work. live.cron runs a 1Hz refresh tick that
polls the table and publishes both the row list and a stats snapshot.