mars
MARS-199
Weekly-digest watchdog: assert a ux-pain-digest appEvents row exists per ISO week, alert if absent. Root cause of the missing 2026-06-22 row = the 13:00 UTC cron run collided with two prod deploys at 13:04/13:10 (MARS-179 legs) mid-alias-swap → invocation aborted before the route's own try/catch, so neither success nor failure row wrote. In-function logging structurally CANNOT catch a dropped platform invocation. Fix = a platform-independent watchdog (DB-side check or separate cron) that verifies a ux-pain-digest row landed for the current ISO week and DMs PM+Elazar if missing. Applies to the other weekly crons too (weekly-kpi, support-digest). Reversible.
Done low
unassigned
Questions
No questions.
Activity
-
Phase 1 SIGNED OFF by audit. db-mars applied pg_cron migration (4 endpoint jobs active=false, watchdog active=true, vault cron_secret + cron_auth_header()/cron_watchdog_check() created, schema.md re-exported). End-to-end verify GREEN: ux-pain fired via net.http_get -> 200 -> action=ux-pain-digest success @15:35:08Z -> email To: elazar.pimentel@pensanta.com (also closes the not-exercised recipient leg from b9d16b8 PTD). Note: direct UPDATE cron.job permission-denied on Supabase -> used cron.alter_job(); Phase-3 activation must use cron.alter_job(active:=true) too. HOLD: pg_cron disabled, Vercel still live scheduler. Next = Phase 2 (coder empties vercel.json crons[] + push, audit PTD + confirm vercel crons ls=0), then Phase 3 (db-mars activate).
-
Cron reliability root-fix: migrated all 4 Vercel crons to Supabase pg_cron+pg_net (mig017, Vault-auth) — kills the Hobby cron-trigger ceiling that silently dropped the 4th/weekly ux-pain-digest since 06-15. Zero-overlap cutover (apply inactive -> manual-fire verify -> empty vercel.json crons[] -> activate). Added cron-watchdog (job 17: pages on no ux-pain in 8d / no error-digest in 3d). ux-pain recipient bug fixed (gmail->work email, v2.22.21). Live 2.22.24; all 4 jobs active, vercel crons=0.
db
7w ago by wi-cli-venus
6w ago
2026-06-29 15:48