Make error-severity pipeline diagnostics load-bearing
WORK-554 established, by planting one and observing, that an error-severity PipelineWarning causes nothing to happen anywhere:
WORK-554 established, by planting one and observing, that an error-severity PipelineWarning causes nothing to happen anywhere:
Tracking started Sep 15 — check back for trends.
Counted on a clean build at the time WORK-554 ran:
| Site | error | warning |
|---|---|---|
site/ | 0 | 35 |
plan-site/ | 0 | 0 |
So flipping errors to fail the build would not break either dogfooded site today. That is the cheap moment to do it; it gets more expensive as soon as the first error-severity diagnostic starts firing routinely.
The 35 warnings in site/ are a separate matter and explicitly not in scope — they are warning, and this item does not propose promoting them.
PipelineWarning produces a non-zero exit from a production build, on at least the SvelteKit reference adapterisBuild guard is revisited: a dev session currently shows no pipeline diagnostics at all, which is the more damaging half of WORK-554's findingsite/ and plan-site/ still build greensite/content/extend/plugin-authoring/pipeline.md — written by WORK-554 to say "none of them changes the outcome of anything" — is updated to match the new realityTwo independent halves, and the second is arguably the more valuable:
formatPipelineSummary already computes errorCount. The change is at the call sites, which currently discard it.if (!isBuild) return guard means a dev server swallows every diagnostic. Whatever is decided about exit codes, a developer editing content should see the warnings their edit produced.Do the second even if the first is rejected. A diagnostic nobody can see in the loop where they are actually working is the SPEC-126 disease in its purest form.
Do not fold this into SPEC-132. That spec's D3 deliberately declines to assert that validation fails the build, and it lands its findings as diagnostics either way. Keeping the two separate is what lets SPEC-132 ship without inheriting this item's downstream-compatibility argument.
ctx.error is not load-bearingpackages/content/src/format.ts — formatPipelineSummary, where errorCount is computed and droppedpackages/sveltekit/src/plugin.ts — the isBuild guard that hides diagnostics in dev