A routine "needs seeding" when it is Active, inside its activation window, and has never
had a NextRunAt computed (newly created outside the entity-server save path, or legacy
rows). The dispatcher computes + saves NextRunAt for these WITHOUT running them — they
become due on a later sweep once their first cron occurrence passes.
A routine "needs seeding" when it is Active, inside its activation window, and has never had a NextRunAt computed (newly created outside the entity-server save path, or legacy rows). The dispatcher computes + saves NextRunAt for these WITHOUT running them — they become due on a later sweep once their first cron occurrence passes.