Release & Shipping Burn Patterns — Research Summary banner
sane-apps sane-apps

Release & Shipping Burn Patterns — Research Summary

Development community intermediate

Description

**Research completed:** 2026-02-10 **Sources:** `~/.claude/CLAUDE.md` (This Has Burned You Before table), SESSION_HANDOFF.md files across 7 SaneApps repos, SaneProcess/templates/RELEASE_SOP.md, SaneBa

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for sane-apps/SaneBar, shared by 4 entries in this directory. It describes the repository, not this entry specifically.

Release & Shipping Burn Patterns — Research Summary

**Research completed:** 2026-02-10 **Sources:** `~/.claude/CLAUDE.md` (This Has Burned You Before table), SESSION_HANDOFF.md files across 7 SaneApps repos, SaneProcess/templates/RELEASE_SOP.md, SaneBar/.agent/workflows/release.md, SaneBar/RELEASE_PROCESS.md


Executive Summary

**34 documented burns** from global CLAUDE.md. **12 directly relate to releases/shipping/customer impact** (35% of all burns). Combined estimated cost if not caught: **$400+ in lost revenue, 100+ hours debugging, irreversible security incidents, broken updates for all shipped customers.**

The release process has **high ceremony** (13-step manual checklist) but **critical gaps**: no pre-release URL audit, no Sparkle key verification gate, no bundle ID validation, no email check, no infrastructure smoke tests.


Release-Related Burns (12 Critical)

# Burn What Happened Cost if Not Caught Preventative Check
1 Used GitHub Releases for DMGs Public URLs, not gated All customers bypass payment, $1000s lost revenue Pre-release: verify DMG URL uses dist.{app}.com
2 Wrangler R2 upload without --remote SaneClip-1.4.dmg uploaded to LOCAL bucket, 404 in production. 30min debugging. 44+ hours downtime, ~$40 lost (see burn #7) Pre-upload: confirm --remote flag, test URL immediately
3 Ignored store slug change LemonSqueezy slug sanebarsaneapps broke 26 checkout URLs across 4 websites. 44 hours downtime, 762 visitors hit dead buttons. $40 actual loss, 5x more potential ANY third-party slug/domain change → immediate URL audit script
4 Generated per-project Sparkle keys Created new EdDSA keys per app instead of reusing shared key. 3 different public keys, broken updates for shipped versions. All shipped customers lose auto-update permanently Pre-release: verify SUPublicEDKey in built Info.plist == 7Pl/8cwfb2vm4Dm65AByslkMCScLJ9tbGlwGGx81qYU=
5 Competitor comments without disclosure Posted on competitor GitHub recommending SaneBar without identifying as developer. Got called out ("ai slop"). Brand damage, permanent subreddit bans, lost trust Before any competitor mention: ALWAYS disclose "I built [App]"
6 DMG custom dark background Dark background → Finder rendered icon labels in black (unreadable). Hours debugging. Customer support flood, returns, bad reviews Pre-release: visual DMG inspection on light + dark macOS
7 App icon with baked squircle Marketing image (with squircle + shadow) used as icon → white border in Dock. Bad first impression, looks unprofessional Pre-release: verify app icon is full-square opaque in Dock
8 DMG file icon white border Marketing image (alpha channel) used for DMG icon → white squircle border Same as #7 but for DMG file Pre-release