docs(smoke): align the smoke headers with the pre-push gate wiring

The three headers still said the non-Chromium engines were on demand and
that 'nothing runs it for you'. Both became false when Firefox moved into
npm run ci; I updated the README and AGENTS.md for that change and did not
carry it into the files themselves.

Each header now names the three tiers separately rather than collapsing
them into a CI/not-CI binary: GitHub CI is Chromium only, the local
pre-push gate is Chromium and Firefox, and WebKit is on demand.

That distinction is the whole point of the arrangement, so a header that
blurs it is worse than one that is merely out of date.

Addresses Copilot review 5026731741 on #2133.

Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
cliffhall 2026-08-26 00:50:59 -04:00
commit 66b3274fa6
3 changed files with 17 additions and 8 deletions

View file

@ -44,9 +44,13 @@
* ── Which engine ────────────────────────────────────────────────────────────
*
* `SMOKE_BROWSER` picks the engine (`chromium` — the default — `firefox`, or
* `webkit`). **CI runs Chromium only.** The other engines are an on-demand tool,
* not a gate: `SMOKE_BROWSER=firefox npm run smoke:web:engine` before touching
* the sandbox is cheap and worth doing, but nothing runs it for you (#2086).
* `webkit`). Three tiers, deliberately (#2086):
*
* - **GitHub CI** runs this smoke in **Chromium** only.
* - **`npm run ci`**, the local pre-push gate, runs it in **Chromium and
* Firefox** — the Firefox pass is `smoke:web:firefox`, and it is the one
* gate step with no GitHub CI counterpart.
* - **WebKit is on demand only**: `SMOKE_BROWSER=webkit npm run smoke:web:app`.
*
* Firefox passes. WebKit fails this smoke for reasons nobody has identified and
* nobody is investigating: it does not reproduce in real Safari, and an isolated

View file

@ -46,8 +46,9 @@
* Launching the browser (and resolving Playwright from clients/web, which has
* its own gotcha — see `lib/headless-browser.mjs`) is delegated to that module,
* which is also where `SMOKE_BROWSER` picks the engine: `chromium` (the
* default), `firefox`, or `webkit` (#2086). **CI runs Chromium only**; the other
* engines are an on-demand tool rather than a gate. This smoke passes in all
* default), `firefox`, or `webkit` (#2086). GitHub CI runs this in **Chromium**
* only; `npm run ci`, the local pre-push gate, also runs it in **Firefox** via
* `smoke:web:firefox`; **WebKit is on demand only**. This smoke passes in all
* three — it is the two App smokes that fail under WebKit (see their headers).
*
* The engine question here is narrower than in the App smokes — this asserts a clean

View file

@ -25,9 +25,13 @@
* proof to a PR); unset, it asserts only.
*
* `SMOKE_BROWSER` picks the engine (`chromium` — the default — `firefox`, or
* `webkit`). **CI runs Chromium only.** The other engines are an on-demand tool,
* not a gate: `SMOKE_BROWSER=firefox npm run smoke:web:engine` before touching
* the sandbox is cheap and worth doing, but nothing runs it for you (#2086).
* `webkit`). Three tiers, deliberately (#2086):
*
* - **GitHub CI** runs this smoke in **Chromium** only.
* - **`npm run ci`**, the local pre-push gate, runs it in **Chromium and
* Firefox** — the Firefox pass is `smoke:web:firefox`, and it is the one
* gate step with no GitHub CI counterpart.
* - **WebKit is on demand only**: `SMOKE_BROWSER=webkit npm run smoke:web:app`.
*
* Firefox passes. WebKit fails this smoke for reasons nobody has identified and
* nobody is investigating: it does not reproduce in real Safari, and an isolated