Commit 5826a95
ci(site): gate the site's published snippets, and the showcase in the release preflight
The website publishes generated code under the claim that it is real `meta gen`
output. Eight tasks of machinery were built to make that claim checkable — the
showcase corpus for five ports, committed excerpts, the subsequence gate, the
highlighters, the drift fixture — and then every one of its tests ran in NO lane.
`grep -rn "showcase\|scripts/site" scripts/ci-local.sh .github/workflows/` found
nothing. The one exception was the TypeScript half, which rides along inside the
`cli` package suite; the other four ports' committed output and every published
excerpt were gated by nobody.
gates lane `gate_site_snippets` — `bun test scripts/site` (75 tests). The
excerpt must still be an in-order subsequence of the real generated
file, the drift fixture must still fail, and the committed ts+sql
output must still be byte-identical to a PRISTINE regen. Pristine
because `meta gen` three-way-merges a hand edit and reports
`merged`, so `verify --codegen` is blind to a committed edit inside
a generated file — measured in task 1, not assumed.
preflight `regen-showcase --check --all-ports`, last in release.mjs Phase 0.
Before the version bump, which is committed and pushed long before
the first publish; last because it is the only slow check there, so
a dead npm token still fails first.
Two deliberate departures from the plan, both for the same reason — a check that
silently covers less than its name says is the failure this repo keeps hitting:
- **`--all-ports`, not the plan's bare `--check`.** Without it a missing
mvn/dotnet/uv makes regen-showcase SKIP that port and still exit 0, so the
preflight would pass on a box that never checked Java at all.
- **Named `gate_site_snippets`, not the plan's `gate_site_payload`.** The payload
builder is task 9 and does not exist; there is no payload to check, and naming
the gate for one would make it read as more coverage than it has. The payload
half joins this gate when task 9 lands.
Also adds `--preflight-only`, which the plan asks for by name as the way to verify
a preflight change safely: `--dry-run` is NOT safe here — it exits only after
Phase 1 has written the new version into all 14 package.json files, rebuilt, and
regenerated bun.lock, and nothing reverts that.
Verified: gates lane 19/19 green with the new step; `--check --all-ports` green on
all five ports in 4.3s; `--preflight-only` exercises the new preflight branch
without touching a version. Both halves proven by BREAKING them — one hand-edited
line appended to a committed generated file makes `bun test scripts/site` exit 1
naming the file, where `verify --codegen` reports no drift.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NynrRND6ZUwGvq3ZUTCfxG1 parent 4b5030e commit 5826a95
2 files changed
Lines changed: 63 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
204 | 230 | | |
205 | 231 | | |
206 | 232 | | |
| |||
488 | 514 | | |
489 | 515 | | |
490 | 516 | | |
| 517 | + | |
491 | 518 | | |
492 | 519 | | |
493 | 520 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
7 | 14 | | |
8 | 15 | | |
9 | 16 | | |
| |||
25 | 32 | | |
26 | 33 | | |
27 | 34 | | |
| 35 | + | |
28 | 36 | | |
29 | 37 | | |
30 | 38 | | |
| |||
45 | 53 | | |
46 | 54 | | |
47 | 55 | | |
48 | | - | |
| 56 | + | |
49 | 57 | | |
50 | 58 | | |
51 | 59 | | |
| |||
113 | 121 | | |
114 | 122 | | |
115 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
116 | 151 | | |
117 | 152 | | |
118 | 153 | | |
| |||
0 commit comments