fetchDueJobs

abstract suspend fun fetchDueJobs(nowMs: Long): List<KronoJob>

Return jobs eligible to run right now: startTime <= nowMs and locks == 0. This query runs every minute — it must be efficient (index-backed).