Failure mode: one data source with no validation between fetch and render
The upstream API changes a field name or returns nulls during an outage; your nightly build renders 30k pages with "undefined" or blank stats and pushes them live before anyone notices. The pipeline trusted the source blindly.
Data-contract SOP:
— Step 1. Owner: data. Define a schema contract for the source: required fields, types, ranges. Validate the payload before it touches the template.
— Step 2. Owner: data. Set sanity bounds (row count within X percent of yesterday, no field >50 percent null). Breach = abort the build, keep yesterday's pages live.
— Step 3. Owner: dev. Render from a validated snapshot, never directly from the live API at request time for static fields.
— Step 4. Owner: SEO. Post-build smoke test: grep rendered HTML for "undefined", "null", "NaN". Gate: zero hits.
Guardrail: a failed validation freezes yesterday's good pages; it never ships today's broken ones.
Ship gate: don't publish until all boxes are checked.
Scale Engine SOP
@ScaleEngineSOP
Failure mode: one data source with no validation between fetch and render
Этот пост опубликован в Telegram-канале Scale Engine SOP. Подписаться можно по ссылке: @ScaleEngineSOP.