Launch checklist: mark what's actually done, and name what isn't - #289
Merged
Conversation
The list read as eight open items. Four of them had been closed for months and simply never marked, which made the run-up to launch look far worse than it is. Item 9 (GitHub repo settings) deferred required status checks and PR reviews on the grounds that "no PR flow exists today; we push direct to master" and that checks are "decorative in direct-push mode". Both premises are gone — everything lands through PRs now, and three checks gate them. Rewritten from the live branch-protection state, including why `strict` is deliberately off: with it on, every Dependabot PR needs a rebase whenever master moves, stalling auto-merge for no safety gain. It also now names the two things branch protection does NOT fix, because both are live and neither is obvious: GITHUB_TOKEN merges don't trigger `on: push`, so an auto-merged bump lands without deploying; and CI doesn't lint the frontend. Item 4 (Domain / DNS) was live all along — its "State now" said so, but the section reads like a task because the rest of it is a procedure for *changing* domains later. Marked done, with certs verified (app. to 2026-12-02, apex to 2026-12-07), and the apex/app split recorded explicitly: the API lives on `app.`, not the bare domain. That distinction has produced broken URLs in these docs twice. Item 7 (Backups) had a verified drill, a re-run after the Postgres migration, and a deliberate decision to decline backup encryption — everything closed, just no marker. The header now carries a table of what genuinely remains: Clerk production keys, status page vendor, lawyer review, Pi benchmark, on-call rotation. **None of them is code.** The only true blocker is counsel — the DPA and sub-processor list still carry DRAFT — NOT FOR EXECUTION. 79 links verified, 864 tests pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The list read as eight open items. Four had been closed for months and simply never marked — which made the run-up to launch look far worse than it is.
Item 9 — GitHub repo settings
Deferred required status checks and PR reviews on the grounds that "no PR flow exists today; we push direct to master" and that checks are "decorative in direct-push mode." Both premises are gone — everything lands through PRs now, and three checks gate them.
Rewritten from the live branch-protection state, including why
strictis deliberately off: with it on, every Dependabot PR needs a rebase whenever master moves, stalling auto-merge for no safety gain.It now also names the two things branch protection does not fix, since both are live and neither is obvious:
GITHUB_TOKENmerges don't triggeron: push, so an auto-merged bump lands without deployingItem 4 — Domain / DNS
Live all along. Its own "State now" said so, but the section reads like a task because the rest of it is a procedure for changing domains later.
Marked done, certs verified (
app.→ 2026-12-02, apex → 2026-12-07), and the apex/appsplit recorded explicitly: the API lives onapp., not the bare domain. That distinction has produced broken URLs in these docs twice.Item 7 — Backups
Verified drill, re-run after the Postgres migration, and a deliberate decision to decline backup encryption. All closed — just no marker.
What actually remains
None of them is code. The only true blocker is counsel: the DPA and sub-processor list still carry DRAFT — NOT FOR EXECUTION.
79 links verified, 864 tests pass.
🤖 Generated with Claude Code