Schedule the nightly timecard sweeps

FeatureDaemonService
Shipped
August 12, 2026 at 6:45 AM UTC
Author
Kamo
Commit
8293017

Cron lives here rather than in TimecardService because that deployment is RollingUpdate with maxSurge: 1 — two pods overlap on every rollout and every @Scheduled method there would fire twice, which for a sweep that writes exceptions means duplicate rows. This service is replicas: 1, strategy: Recreate, and is the only place on this platform where "once" means once. Runs at 02:20 daily: after midnight so a full business day has closed everywhere in the continental US, and off the hour so it does not contend with every other platform job. Stamps mlos.internal-auth-secret, not internal.auth.secret. DaemonService's own internal.auth.secret resolves to the public-chat value and would 403 every call, which is the trap StewardEmailClient already documents. When the secret is missing the job refuses to run and says so at ERROR rather than logging a false success — a sweep that quietly never runs is indistinguishable from one that finds nothing, and the difference is a month of undetected missing punches. The three sweeps are attempted independently. A break sweep failing is a compliance gap while an exception sweep failing is an unpaid day, and coupling them lets the cheaper failure take out the expensive one.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing