Fixes#1972 - nextRunAtMs was recalculating from current time on
updates/restarts, causing interval jobs to drift forward.
For 'every' schedule jobs, now uses lastRunAtMs as anchor when available,
falling back to anchorMs then nowMs. Cron expressions unchanged.
🤖 Generated with Clawdbot
Co-Authored-By: Clawd <noreply@anthropic.com>