Launch gate: what must be true first
Alice and the confident AI
Invoice numbers from other companies sat in a dropdown on Monday — the morning Alice opened her invoicing app to two hundred paying users. On Sunday night the AI had said yes, it was ready. Nothing in that answer had been checked. That week she wrote ten checks, put a proof beside each, and ran them before every release.
- A launch gate is a short written list of checks with proof.
- Each check names its evidence: output, screenshot or log line.
- A check that wasn't run counts as open, never as passed.
- Keep it to ten lines and re-run it before big releases.
Written checks must pass Release
Dos and don'ts
- Name an owner for each check. Running code is not enough without backups, alerts, secrets, rollback and cost on the list.
- Make the AI paste real output.
- Accept 'looks good' as proof.
- Let the list grow past ten lines.
Write the checks before you invite users
On Sunday night the AI said the app was ready. On Monday, strangers could already see other companies' invoice numbers. Running code is necessary. It is not enough: backups, alerts, secrets, rollback and cost still have to be true, and the AI that wrote the feature never volunteered that work. A launch gate is a short file kept with your code: yes-or-no checks, each with proof you can see (a test run, a screenshot, a log line). Example: before invites, tick "staging URL loads", "test user can sign in", "fake checkout webhook marks paid access (entitlement=active)."
Keep it to ten lines. A long list gets skipped.
What goes on it
Pick checks that match how apps like yours fail. Two users can't see each other's data. Sign-up works on the real domain, and so does payment if your app takes payments. A backup restores. An alert reaches your phone. Errors land somewhere you'll look. Rollback, putting the previous version live again, has been tried once.
Every line needs a name next to it, even if it's only yours.
Make the AI prove it
Ask the AI to run each check and paste the output. Don't accept 'looks good'. If a check can't be run, mark it open rather than passed. Re-run the gate before every major release, because a gate goes stale.
Create a LAUNCH_GATE.md for my app with what must be true before launch. Include: two-user isolation, sign-up and payment on the live domain, a backup restored to scratch, an alert reaching my phone, errors in the tracker, a rollback tried on staging, no secret in the code the browser downloads. For each item say what proof we have, or mark it missing. Ask me questions about anything I didn't decide.
Dos and don'ts
Is it ready to launch?
Run each line of LAUNCH_GATE.md. For every line paste the command and its output. Mark anything you could not run as open, not passed.
Example
Take the results of our last launch gate run and turn them into a short PASS or OPEN board with one proof per line, like test counts or a saved recording, and the reason each OPEN line could not run. Then, for each OPEN line, give me the smallest setup step that unblocks it, like creating a scratch database.
Paste into your agent inside a project folder. Prompts that say "this project" are for the app you build in the Lab, or any app you already have. No project yet? Read them now and paste them later, in the Lab.
Draft a ten-line launch gate for this app. For each line give the check, the proof I should see, and the file or command that produces it. Base it on what this app actually does.
Run the launch gate in LAUNCH_GATE.md now. For each line paste the exact command and its output. If a line cannot be run, mark it OPEN and say what is missing. Do not change any code.
Review our launch gate for checks that are vague or cannot fail. Rewrite each one with a clear pass condition and a proof, and tell me which lines to cut to keep it at ten.
🚨 In production, tell your AI
You launched and are not sure what you skippedWhat do you do? · Show what to paste
We are live and I am worried we skipped something. Do not change code. Compare this app to the launch gate in LAUNCH_GATE.md, or draft one if it is missing. List every check that has no proof, rank them by how much harm a failure would do to users, and tell me which one to do first.