dueSchedules
Claims up to limit due schedules for worker under a lease of lease, soonest next-fire first. A schedule is due when its stored nextFireAt is non-null and not in the future by the STORE's own clock; no SPI method accepts caller-supplied time for comparisons, because the caller's clock is never authoritative. Only rows whose id is in ids are returned; other rows are left untouched, so a node only ever fires schedules it holds a definition for (the schedule analogue of claim's kind filter). An empty ids returns an empty list.
Atomic across concurrent callers: a due schedule is claimed by exactly one caller per lease window (SKIP LOCKED or CAS, never an in-process check). Each claim bumps the row's fence. A claim whose lease expires before completeFire makes the row claimable again with a fresh fence; the previous claim's completeFire is then stale and rejected, so a fire is never applied twice.