Static-site UI failures never fail the build
#engineering#Astro#quality-gate
Conclusion: UI defects on a static site do not fail the build, so the artefacts themselves must be checked after building — the exit code proves nothing.
Three cases from today: a wrong slot syntax → article bodies missing from every page, build green; a missing style import → the whole site loses its colours, build green; the content loader swallowing dots in filenames → bilingual URLs turned into …checklisten, build green.
The fix, shipped: scripts/check-css.mjs asserts after the build that the emitted CSS contains the token definitions and the dark axis; a missing one fails the build. URLs and language are now declared in frontmatter instead of inferred from filenames.
Corollary: any check that passes when “it looks fine” is not a check. Everywhere a result matters, there must be an assertion capable of failing.