Gate production on CI, and record the source link breaking twice - #218
Merged
Conversation
Every push to main deployed in about 25 seconds whether the tests passed or not. CI only came into existence today, so production had never been gated by it. Wait for CI is now on (checkSuites: true) and verified end to end on the 05d7d3c merge: WAITING for 12 minutes, DEPLOYING within seconds of the run going green, SUCCESS at 06:53:06 UTC, with the previous release serving throughout. The runbook already described this class of breakage from 2026-09-04. It happened again today with a different cause, so it is recorded as recurring rather than as a one-off, with the distinguishing symptom: the repo name renders and pushes still deploy, but the branch picker shows 'GitHub Repo not found'. The 2026-09-04 fix does not apply -- the GitHub App was installed and healthy. Re-selecting the same repository and reloading the page is enough, and the reload matters: without it the widget keeps showing the stale error and the fix looks like it failed. 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.
What this changes
Documentation only — but it records two production changes made today.
Production is now gated on CI. Until this morning every push to
maindeployed within about 25 seconds whether the tests passed or not. CI itself only came into existence today, so production had never actually been gated by it.Wait for CIis on (checkSuites: true).The Railway↔GitHub source link broke for the second time. The runbook already describes this class of breakage from 2026-09-04 and prescribes a fix that does not apply to today's occurrence, so it is now recorded as recurring, with the symptom that distinguishes the two.
Evidence
Verified end to end on the
05d7d3cmerge (this repo, today):WAITINGDEPLOYINGSUCCESS, new release servingThe site served the previous release for all 12 minutes, so the gate costs latency and not availability. That transition is the part worth having evidence for: a gate that holds but never releases is indistinguishable from a broken one until it bites.
On the source link
Symptom: a red
GitHub Repo not foundwhere the branch picker belongs, directly under the static headingBranch connected to production. That reads as a contradiction and is not one — the heading describes the section, the red box is the failed control.What was still working: the repository name rendered above it (Railway serves that from its own database) and pushes still deployed (an already-registered webhook). Only the live GitHub API lookups failed.
The 2026-09-04 diagnosis (
NO_INSTALLATION— the GitHub App was not installed) does not apply: opening the repo picker listedParshkov/Resonanceamong the others, so the App was installed and healthy. I had guessed a stale installation token and that guess was wrong; the picker loading is what disproved it.Fix: re-select the same repository via the pencil icon — not
Disconnect— then reload the page. The reload matters, and is why this is written down: without it the widget keeps showing the stale error and the fix looks like it failed.Checklist
benchmark/gold is unedited.🤖 Generated with Claude Code