From eacd61243e040929742061c6839da4ea63198b26 Mon Sep 17 00:00:00 2001 From: UnbreakableMJ Date: Mon, 14 Sep 2026 15:50:45 +0000 Subject: [PATCH] ci: gate spacecraft.css against the canonical palette MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This repository's HTML output embeds spacecraft.css verbatim — `texi2any --css-include=spacecraft.css` — so a colour that drifts from steelbore.toml is a wrong colour in the published document, with the build still passing and nothing anywhere reporting it. The file is the palette's third mirror, after steelbore.scm and the palette prose, and was the only one with no drift gate in either repository that carries it. The checker and the canonical palette both live in Construct, which the skill-refs job already checks out read-only for check-skill-refs.py. This step reuses that checkout and follows the same dependency direction: the Standard cites the catalogue, so the Standard validates against it. This copy is compared to the same steelbore.toml the skills use, and to Construct's own copy — all three copies are byte-identical by design, so divergence between them is drift in its own right. The Construct side, which adds check-palette-css.py itself, is a separate PR on that repository. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b1b290..11cfa5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,3 +84,17 @@ jobs: --catalogue .construct \ --no-version-check \ The_Steelbore_Standard.texi The_Steelbore_Standard.md + + # spacecraft.css is embedded verbatim into this repository's HTML output by + # `texi2any --css-include`, so a colour that drifts from the canonical palette + # is a wrong colour in the published document — with the build still passing + # and nothing reporting it. The checker and the palette both live in Construct, + # which is already checked out above; this copy is compared against the same + # steelbore.toml the skills use, and against Construct's own copy, which is + # byte-identical by design. + - name: spacecraft.css matches the canonical palette + run: | + python3 .construct/.github/check-palette-css.py \ + --toml .construct/steelbore-color-palette/assets/steelbore.toml \ + spacecraft.css \ + .construct/steelbore-color-palette/assets/spacecraft.css