CedarCopilot wants to merge 0 commits into staging from chore/remove-eod-health-check
Live on prod, no production signal yet
OTEL fallback found no prod spans matching runEndOfDayHealthCheck cron task / Slack Customer Success channel since deploy.
Libra has verdicts on 0 of 1 tracked behaviors on prod; 1 is still being checked. Libra checks hourly for 3 days after each deploy.
Removes the end-of-day health check that posted per-user metrics to the #customer-success Slack channel.
The feature was a single self-gating cron , runEndOfDayHealthCheck, dispatched hourly by EventBridge and gated to midnight UTC , that emitted three recap messages:
We no longer want this daily recap going to customer-success.
apps/server/src/services/notifications/internal/health-checks.ts , all three report builders + the orchestrator (no other callers).cron/cron-task-registry.ts , remove the runEndOfDayHealthCheck entry and its per-UTC-date dedup guard.aws/lib/stacks/app-stack.ts , remove the hourly cron registration; tidy an adjacent comment that referenced it.services/notifications/types.ts , remove the daily_summary / low_send_rate_summary / automations_processed notification types, their union members, and the now-unused SimplifiedSourceSummary import.services/notifications/internal/slack-notifier.ts , remove the three rate-limit keys, the three Slack formatters, the isDailyRecap logic, and the customer-success channel routing branch.trpc/routes/admin-notifications.ts , remove the two admin test-send cases + the now-unused today local.services/analytics/draft-analytics.ts , remove getActiveUsersSimplifiedDraftSummary (the health check was its only caller).CEDAR_SLACK_CHANNELS.CUSTOMER_SUCCESS is retained , still used by the deal-audit step.getActiveUsersDraftSummaryBySource / toSimplifiedSourceSummary are retained as general module API.@zero/server typecheck shows no new errors on any touched file.š¤ Generated with Claude Code
The PR removes the end-of-day customer-success health check and its supporting analytics, cron, Slack formatting, routing, notification types, and server-side test cases.
This needs the stale admin playground controls and calls removed before merging so the client and server notification contracts remain consistent.
The server no longer accepts two recap notification values that the retained mail playground still submits through rendered controls, causing typed-client incompatibility and runtime validation failures.
Files Needing Attention: apps/server/src/trpc/routes/admin-notifications.ts and apps/mail/app/(routes)/playground/notification-test.tsx
| Filename | Overview |
|---|---|
| apps/server/src/cron/cron-task-registry.ts | Removes the health-check registry entry and its process-local date deduplication guard consistently with the schedule removal. |
| aws/lib/stacks/app-stack.ts | Removes the corresponding hourly task registration and updates the adjacent calendar-sync comment. |
| apps/server/src/services/notifications/internal/health-checks.ts | Deletes the end-of-day report queries and orchestrator; no remaining module importers were found. |
| apps/server/src/services/notifications/internal/slack-notifier.ts | Removes recap formatting, rate-limit handling, and customer-success routing while retaining exhaustive handling for remainin |
Libra has not measured any production surfaces for this change yet.