From 66b3274fa67aefc9e1fb3f5d6b20852216dca846 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Wed, 26 Aug 2026 00:50:59 -0400 Subject: [PATCH] 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 --- scripts/smoke-web-app.mjs | 10 +++++++--- scripts/smoke-web-browser.mjs | 5 +++-- scripts/smoke-web-elicitation.mjs | 10 +++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/scripts/smoke-web-app.mjs b/scripts/smoke-web-app.mjs index 72720427..cd1e9323 100644 --- a/scripts/smoke-web-app.mjs +++ b/scripts/smoke-web-app.mjs @@ -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 diff --git a/scripts/smoke-web-browser.mjs b/scripts/smoke-web-browser.mjs index 65cc2f52..04342cf2 100644 --- a/scripts/smoke-web-browser.mjs +++ b/scripts/smoke-web-browser.mjs @@ -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 diff --git a/scripts/smoke-web-elicitation.mjs b/scripts/smoke-web-elicitation.mjs index 4c485ee0..364ea730 100644 --- a/scripts/smoke-web-elicitation.mjs +++ b/scripts/smoke-web-elicitation.mjs @@ -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