Environments
- production: primary deployment
- staging: pre-prod validation
- preview: per-PR or ad-hoc testing
Sources: beacon-platform/docs/operations.md
Workers and bindings
- beacon-pulse-ingest (apps/pulse-ingest)
- R2: beacon_pulse_exports → beacon-pulse-exports
- D1: beacon_pulse_db → beacon-pulse-db
- Queue: beacon-pulse-uploads
- AI binding: AI
- beacon-pulse-public (apps/pulse-public)
- D1: beacon_pulse_db
- Assets binding: ASSETS
Sources: beacon-platform/docs/operations.md
Deployment model
- Cloudflare Workers via Wrangler and GitHub Actions.
- Compatibility date: 2026-01-01.
- Smart placement disabled by default.
Sources: beacon-platform/docs/operations.md
Observability
- Use wrangler tail for worker logs.
- Queue logs via Cloudflare dashboard.
Sources: beacon-platform/docs/operations.md, beacon-platform/infra/VIEW_LOGS.md
Runbook highlights
- Admin upload and Access setup: see infra/ADMIN_UPLOAD.md.
- R2 event notifications: see infra/R2_EVENTS.md.
- Cleanup and regeneration: see infra/CLEANUP_GUIDE.md.
- Embed setup: see infra/EMBED.md.
- Custom domains: see infra/CUSTOM_DOMAIN.md.
- AI quota controls: see infra/AI_QUOTA_MANAGEMENT.md and infra/AI_QUOTA_ENHANCEMENTS.md.
Sources: beacon-platform/infra/README.md
Operational considerations
- Weekly summaries are generated only if a week has >=3 days or >=20 messages.
- Deduplication makes replays and re-uploads idempotent.
- /pulse/daily.json should be gated in production unless intended public.
Sources: beacon-platform/docs/architecture.md, beacon-platform/AUDIT_REPORT.md