You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Confirm Vercel Cron Jobs includes `/api/cron/send-followups` on the production deployment.
113
-
2. Call the follow-up cron route without `Authorization: Bearer $CRON_SECRET` and confirm it is rejected.
114
-
3. Call the follow-up cron route with the correct bearer token and confirm it succeeds.
115
-
4. Call the reconcile route without `Authorization: Bearer $CRON_SECRET` and confirm it is rejected.
116
-
5. Call the reconcile route with the correct bearer token and confirm it succeeds.
112
+
1. Confirm the GitHub Actions workflows [`.github/workflows/send-followups.yml`](/Users/maxlin/Code/Atlas/.github/workflows/send-followups.yml) and [`.github/workflows/reconcile-google-calendar.yml`](/Users/maxlin/Code/Atlas/.github/workflows/reconcile-google-calendar.yml) are enabled with `APP_BASE_URL` and `CRON_SECRET` repository secrets.
113
+
2. Confirm `send-followups.yml` runs every 15 minutes and `reconcile-google-calendar.yml` runs every 30 minutes.
114
+
3. Confirm both workflows expose manual `workflow_dispatch` for smoke tests.
115
+
4. Call the follow-up cron route without `Authorization: Bearer $CRON_SECRET` and confirm it is rejected.
116
+
5. Call the follow-up cron route with the correct bearer token and confirm it succeeds.
117
+
6. Call the reconcile route without `Authorization: Bearer $CRON_SECRET` and confirm it is rejected.
118
+
7. Call the reconcile route with the correct bearer token and confirm it succeeds.
- Vercel only hosts the protected cron endpoints. Scheduled follow-up dispatch and Google Calendar reconciliation now come from GitHub Actions via [`.github/workflows/send-followups.yml`](/Users/maxlin/Code/Atlas/.github/workflows/send-followups.yml) and [`.github/workflows/reconcile-google-calendar.yml`](/Users/maxlin/Code/Atlas/.github/workflows/reconcile-google-calendar.yml), not from Vercel Cron Jobs.
75
76
- Do not log the webhook secret in Vercel function logs or error output.
76
77
- Keep the route handler thin and continue moving persistence and planning behavior into workspace packages.
77
78
- After the first Vercel smoke test, the next backend milestone is replacing the `processInboxItem` stub with planner-owned persistence that reads canonical `inbox_items`, creates validated `tasks`, and records `planner_runs` as operational audit state.
0 commit comments