Convention: How should GoGrab Pulse be deployed to production?

Documentation for Sessions

📏 Convention: How should GoGrab Pulse be deployed to production?

Date: 2026-02-12
Time: 04:20:30 UTC
Session: gspace1-108.7
Agent: orchestrator
Confidence: 98%
Status: ✅ Documented


📋 Decision Context

Question:

How should GoGrab Pulse be deployed to production?

Task: GoGrab Pulse - Cloudflare Pages deployment workflow


🎯 Decision Made

Chosen:

Deploy via npx wrangler pages deploy with explicit --branch=main for production

Options Considered:

  1. Manual wrangler deploy from any branch
  2. Deploy only from main branch
  3. CI/CD pipeline
  4. FTP upload

💭 Reasoning

Key deployment rules: (1) The static site lives at deploy/gograb-pulse/ in the gspace1 repo. (2) Deploy command: npx wrangler pages deploy deploy/gograb-pulse --project-name=gograb-pulse --branch=main. (3) CRITICAL: You MUST pass --branch=main to deploy to production (pulse.gograb.space). Without it, wrangler uses the current git branch name, which creates a Preview deployment at a staging URL (e.g., session-108.gograb-pulse.pages.dev) instead of updating production. (4) Preview URLs are useful for testing before going live. (5) The production domain is pulse.gograb.space (custom domain configured in Cloudflare). (6) Player lives at pulse.gograb.space/player/ and the landing page at pulse.gograb.space/. (7) MP3 files are NOT deployed with Pages - they live in R2. The .gitignore excludes deploy/gograb-pulse/music/*.mp3. (8) After deploying, Cloudflare CDN may cache old content for up to 4 hours on the production domain. Staging URLs reflect changes immediately. (9) Service worker cache must be bumped (CACHE_NAME in sw.js) when making significant changes to force client-side cache refresh.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation