Commit Graph

3 Commits

Author SHA1 Message Date
daniel 126650d6f6 feat: auto-resolve known test noise in daily Sentry summary
The daily-health-report worker now closes the loop the user asked for:
review Sentry issues on a routine and clean up what's noise. Deliberately
conservative — an issue is auto-resolved ONLY if its title matches a known
verification-noise pattern (NOISE_TITLE_PATTERNS in index.js); every other
issue (i.e. any real production error) is left untouched and always listed
in the Telegram digest for human review. Never widen this to "resolve
everything automatically" — that would hide real bugs instead of
surfacing them.

Verified end-to-end: sent one event matching the noise pattern and one
simulating a real error. The worker auto-resolved only the former (Sentry
confirmed 0 → 1 → 0 unresolved) and kept the latter open and reported.

Also manually cleaned up the 5 pre-existing test issues from today's
Sentry setup verification, now that this routine exists to keep the
projects clean going forward.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 19:26:41 -04:00
daniel e327437f2c feat: add daily-health-report Cloudflare Worker with Telegram digest
Adds a proactive daily heartbeat, since the existing Telegram flows
(docs-monitor, pulse) only notify on change/error/weekly schedule and never
confirm "everything's fine." Runs at 14:00 UTC (10:00 AM EDT) and reports:

- Dashboard site health (reuses the existing /api/health-check endpoint)
- Unresolved Sentry issues from the last 24h across all 3 Sentry projects
  (aitmpl-workers, aitmpl-dashboard, aitmpl-cli)

Does NOT poll the other 3 workers' /status endpoints directly — Cloudflare
blocks Worker-to-Worker fetches over the public *.workers.dev hostname
within the same account (error 1042, confirmed via wrangler dev --remote).
Their health is covered by their own Sentry Cron Monitor check-ins instead.

Also adds a /status endpoint to aitmpl-crons (cloudflare-workers/crons/index.js)
for consistency with the other workers, even though it isn't polled here.

Verified end-to-end: manual /trigger call returns a clean report and
successfully delivers to Telegram (message_id confirmed). Sentry summary
section requires SENTRY_AUTH_TOKEN + SENTRY_ORG_SLUG secrets (pending —
degrades gracefully to "not configured" until set).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 18:54:27 -04:00
Dani 62b5d8de60 feat: add Cloudflare Workers for docs-monitor and pulse weekly KPI report
- Add pulse worker: weekly report collecting metrics from GitHub, Discord,
  Supabase, and Vercel, sent via Telegram every Sunday 14:00 UTC
- Add docs-monitor worker: hourly documentation change monitor with
  Telegram notifications (previously local-only, now tracked in repo)
- Update .gitignore to track cloudflare-workers/ directory
- Document Cloudflare Workers architecture in CLAUDE.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:57:26 -05:00