v1.3 Release Checklist
This checklist is the fail-closed bar for MUTX v1.3.
Owners
| Area | Owner |
|---|---|
| Backend and contracts | area:api |
| Dashboard and browser UX | area:web |
| Desktop runtime and packaging | area:desktop |
| Release validation | area:testing |
| Docs and positioning | area:docs |
Gate
| Check | Owner | Pass condition |
|---|---|---|
| Python validation suite | area:api |
bash scripts/test.sh passes its Python lint, compile, and pytest stages |
| Generated contract verification | area:api |
bash scripts/verify-generated-artifacts.sh reports current artifacts with no drift |
| Release lint | area:web |
npm run lint passes for the release-critical web and desktop surfaces |
| Typecheck | area:web |
npx tsc --noEmit passes |
| Production build | area:web |
npm run build passes with proxy.ts and no deprecated middleware.ts warning |
| Serial browser smoke | area:testing |
npm run test:e2e:release passes the Chromium dashboard, auth, and registration flows |
| Desktop cockpit smoke | area:desktop |
npm run test:e2e:release passes the desktop cockpit scenarios against the standalone build |
| Compose smoke | area:api |
bash scripts/smoke-compose-prod.sh passes without skips |
| Signing environment | area:desktop |
npm run desktop:signing-check passes on the release machine |
| Signed macOS package | area:desktop |
npm run desktop:package:release builds signed .app bundles and ZIPs, then assembles DMGs whose mounted apps still pass recursive codesign verification |
| Notarization validation | area:desktop |
npm run desktop:notarize:status reports valid signatures, mounted-DMG app integrity, Gatekeeper acceptance, and stapled tickets |
| Built app launch smoke | area:desktop |
npm run desktop:launch:smoke launches the built .app and exits cleanly after readiness |
| Railway production promotion | area:ops |
frontend and backend Railway services deploy from the release commit using the production-promotion workflow |
| Public production smoke | area:testing |
bash scripts/verify-production-release.sh passes against mutx.dev, app.mutx.dev, api.mutx.dev, and the synced release-notes page |
| GitBook sync | area:docs |
https://docs.mutx.dev/docs/v1.3 is reachable after merge |
| Public release summary | area:web |
https://mutx.dev/releases reflects the current desktop artifact set and links |
| Surface positioning | area:docs |
preview/stable language in docs matches the actual gated surface set |
Positioning Rule
Promote app.mutx.dev/dashboard to Supported only when all checks above pass on the release candidate machine, including signed packaging, notarization, checksum publication, and launch validation.
Keep app.mutx.dev/control/* and preview or redirect-backed dashboard routes labeled Preview and out of the primary stable navigation until their live contracts are complete.
Launch Order
- Confirm the notarized macOS assets exist on the
v1.3.0GitHub release. - Confirm
docs/releases/v1.3.mdis merged,https://docs.mutx.dev/docs/v1.3is live, andhttps://mutx.dev/releasesreflects the same release. - Run the Railway production-promotion workflow for the frontend and backend services.
- Run
bash scripts/verify-production-release.sh. - Verify the public download, release, auth, dashboard, API, and docs routes still point to the supported v1.3 surfaces.
Railway Secrets Contract
The production-promotion workflow expects:
RAILWAY_TOKENRAILWAY_PROJECT_IDRAILWAY_FRONTEND_SERVICE_IDRAILWAY_API_SERVICE_IDRAILWAY_ENVIRONMENT_ID
Optional overrides:
MUTX_SITE_URLMUTX_APP_URLMUTX_API_URLMUTX_DOCS_RELEASE_URL
