# Production release checklist: 21 November 2026

Dates below are suggested checkpoints. The feature checks apply when included in the launch.

## By 6 November: scope and decisions

### Launch responsibilities
- [ ] Who makes the launch call
- [ ] Who deploys
- [ ] Who handles user questions
- [ ] Availability and contact on 21–22 November

### Launch scope
- [ ] Public or limited launch, regions, domain and time
- [ ] Expected traffic
- [ ] Features included or excluded
- [ ] What users see when a feature is unavailable

### Open product work
- [ ] Trello acceptance criteria and tester feedback
- [ ] Account linking
- [ ] Meeting names
- [ ] Card variants

### Credit and trade policies
- [ ] Credit packages and fees
- [ ] Refund and cancellation rules
- [ ] Dispute outcomes and support
- [ ] Confirm whether Sprint or Paperclip is in scope

### Legal review
- [ ] Card image and provider rights
- [ ] Thai platform and payment rules
- [ ] Consumer terms and Credit policy
- [ ] Privacy, retention, tax and receipts

## By 11 November: setup and performance

### Performance
- [ ] Test the release candidate and Admin pages
- [ ] At least 95% correlation and 25% median improvement
- [ ] Free plan: no observed CPU failures and p95 at most 8 ms
- [ ] Record results; agree an alternative if a target fails

### Capacity and cost
- [ ] Cloudflare and Neon plans
- [ ] Expected usage, capacity and alerts
- [ ] Test member, payment and admin traffic

### Production setup
- [ ] Domain, infrastructure and access
- [ ] Backups and provider credentials
- [ ] Separate production resources from development

### Catalog and meeting points
- [ ] Production catalog and images
- [ ] Card variants, search and image rights
- [ ] Production meeting points
- [ ] Bilingual current and historical names
- [ ] Keep original agreement evidence

### Sign-in
- [ ] Google and Facebook production sign-in
- [ ] 300-Credit welcome grant and repeat login
- [ ] Account separation and session errors
- [ ] Enable provider linking only if approved

### Activate included features
- [ ] Payments: Stripe, PromptPay, webhook, retries and recovery
- [ ] Refunds: policy and card/PromptPay tests; resolve merchant prerequisite
- [ ] Chat and notifications: access, retention and real-device push
- [ ] Prices: Scrydex rights, coverage, allowance and freshness
- [ ] Closure and deletion: recovery, financial unlink and provider/backup handling

### Support
- [ ] Support channel and contact/privacy details
- [ ] Who handles reports, disputes, refunds and incidents
- [ ] Replace the blank Google Form URL if using it

## By 16 November: test the release

### Release candidate
- [ ] Agree the candidate and feature list
- [ ] Update UAT coverage
- [ ] Record results and defects; mark blocked tests

### Complete trade
- [ ] Two people sign in, list cards and make an offer
- [ ] 100-Credit hold and 100 Credits charged per person
- [ ] Chat if enabled; Shake confirmations within 10 minutes
- [ ] Ownership transfers and received cards stay unpublished
- [ ] Check balances after reload

### Trade failures
- [ ] Insufficient Credits and competing offers
- [ ] Withdrawal, cancellation and 72-hour expiry with hold release
- [ ] Privacy, disputes and retries
- [ ] No duplicate grants or one-sided charges

### Provider tests
- [ ] Enabled payments and refunds, including failures
- [ ] Push delivery and recovery
- [ ] Missing or stale prices
- [ ] Disabled-feature behavior

### Usability
- [ ] Member and admin journeys in English and Thai
- [ ] Mobile, desktop and keyboard access
- [ ] Relevant device features and session expiry
- [ ] Fix launch blockers or agree mitigation

## By 18 November: prepare for release

### Database recovery
- [ ] Rehearse database changes and restore on an isolated database
- [ ] Check compatibility with the running app
- [ ] Prepare recovery steps

### Release pipeline
- [ ] Production access and CircleCI pipeline
- [ ] Manual release available from main
- [ ] Team go/no-go before release

### Rollback plan
- [ ] Record production versions, database state, settings and queue backlog
- [ ] Prepare recovery for partial releases
- [ ] App rollback does not undo database changes, queue work or payments

### Monitoring
- [ ] Alerts for errors, speed, database, queues, payments and sign-in
- [ ] Alerts for enabled background work
- [ ] Agree when to stop or roll back

### Launch information
- [ ] Customer terms and privacy details
- [ ] Support instructions
- [ ] Release notes and launch updates

## By 20 November: launch decision

### Release readiness
- [ ] Review and merge approved release from dev to main
- [ ] Full checks pass
- [ ] Retest changes made since UAT

### Production readiness
- [ ] Verify live settings, data and provider connections
- [ ] Check monitoring, support and recovery

### Go or no-go
- [ ] Legal and operational decisions complete
- [ ] Performance, testing, setup and recovery complete or an acceptable alternative approved
- [ ] Record remaining risks
- [ ] If not ready, agree a new date

## 21 November: launch

### Before deployment
- [ ] Developer and support contact available
- [ ] Confirm launch decision and change freeze
- [ ] Record release and previous working versions

### Deploy
- [ ] Run the approved CircleCI production release from main
- [ ] Follow deployment order
- [ ] Stop on failure and report any partial release

### Production checks
- [ ] Login, catalog, card uploads and access controls
- [ ] Included trade, chat and support flows
- [ ] Test payment and push only as agreed
- [ ] Avoid unintended charges or notifications

### Monitor
- [ ] Errors, speed, queues, database and payments
- [ ] Watch at least 15 minutes and the agreed longer window
- [ ] Stop or recover if a critical flow fails or an agreed threshold is breached

## After launch: 21–22 November

### 24-hour handover
- [ ] Payments, queues, support and user journeys
- [ ] Performance and backups
- [ ] Record incidents and follow-ups

### Release record
- [ ] Deployed versions, settings and test results
- [ ] Remaining risks and release notes
- [ ] Update the team and close completed tickets
