Express Intent

Ops Checklist.

Public/private-ish runbook for keeping booking, checkout, analytics, and email healthy. Secrets are never shown here.

Resend verified/api/health?deep=1 must show resend_domain_verified:true.
Stripe validstripe_valid:"ok" means the live key authenticates.
Slots available/api/available-slots should return future unbooked slots.
Video fallbackZoom OAuth -> personal Zoom URL -> Jitsi. Status explains the current path.
PostHog installedCTA and funnel events use window.EIAnalytics.capture.
Audience syncLead capture still works when Resend Audience is skipped.

Release commands

npm run audit:themes
npm run audit:a11y
npm run audit:links
npm run audit:seo
public-project-security-check --path .
git push origin main
vercel --prod --yes
npm run verify:production

Recovery

Stripe invalid:
  reset STRIPE_SECRET_KEY in Vercel, redeploy, verify /api/health?deep=1

Resend domain failed:
  open Resend domain, restart verification, confirm DNS, verify /api/health?deep=1

Paid but unscheduled:
  open /admin/bookings.html, filter "NEEDS SLOT", email customer dashboard/schedule link

Rollback:
  vercel rollback or redeploy last known good commit, then run npm run verify:production

Status / Roadmap / Admin bookings / Privacy / Terms / Refunds