Most of what a studio website says is a claim with a shelf life. A launch window. How many people work here, and where. Which phones the game runs on. Every one of them is true the day it is written and quietly wrong some months later, and nobody notices, because nothing breaks.
So we turned the claims into tests. Eleven scripts run on every push, and each one fails the build for a different kind of untruth.
- The launch dates have to agree in three places at once: the copy a visitor reads, the structured data a search engine reads, and the plain-text file an AI answer engine reads. Change one and the build stops until the other two catch up.
- Every design-target number the site publishes is declared in a single file. If any page renders a different figure, the build names the file and the line.
- Every page that describes the company has to describe the same company. Two hand-maintained copies of one fact drift apart, and neither page looks wrong when they do.
- Anything the site asks a browser to fetch early has to exist. A preload pointing at a renamed font is the worst of both worlds: a 404 fetched early, the real file still arriving late, and a console warning that reads like a false alarm.
- The sitemap has to be honest about dates. A stale one is an active request to Google not to recrawl the change, which is the opposite of what a sitemap is for, and it is worst exactly when it matters most.
The one we are proudest of is the smallest. The site publishes a target cost per install, written as a comparison: less than a certain number of cents. In Hebrew, laid out right to left, the comparison sign flips. Same characters, same order, rendered as though we were claiming more rather than less. Three separate checks passed. The number on screen said the opposite of what it meant. Now a value like that has to be isolated as its own left-to-right run, and the build fails if it is not.
Today one of the eleven caught us in a way it could not have before. The sitemap guard compares each page against git history, and git only knows about history, so before you commit it reports the old date, the dates match, and the check passes. Then the commit lands, the answer becomes today, and the build goes red for a one-character fix you were holding in your hands ten seconds earlier. It cost us two red builds in a single day. An uncommitted edit now counts as shipping today, so it fails while the fix is still free.
None of this makes the game better. It makes the things we say about the game harder to get wrong, which for a studio nobody has heard of yet is most of the job.