790a7059ce
Instead of an every-minute poller, each scheduled message gets its own Cronicle event created at schedule time: - One-time: year/month/day/hour/minute one-shot - Daily/weekly/monthly: recurring timing matching the recurrence setting Retry (PUT with new scheduled_at on failed messages) also creates a new Cronicle event and resets status to pending. Recurring messages reuse their existing Cronicle event across occurrences. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>