executes synchronously before the deferred module bundle, so<br>window.__INTENTLAB_CONFIG__ is set before any code that reads<br>it (see src/schemas/env.ts).
The serving bucket holds an env-specific config.js (written by<br>deploy-website.yml in the deploy repo). Local dev serves<br>public/config.js directly. The artifact bucket bundle does NOT<br>contain config.js — build.yml strips it before tarring — so a<br>single sha- artifact serves both staging and prod.
Cache-Control on the deployed config.js is max-age=60 (same<br>as HTML) — config rotations propagate fast.<br>-->
Turn your intent into production systems — Intent Lab
Blog announcements get their own crawler HTML: the build's<br>postbuild step (scripts/generate-crawler-route-html.ts) copies<br>this file per route and rewrites the tags below — that script<br>fails the build if these tags are reshaped, so update it in the<br>same change.<br>-->