docs(smoke): stop describing the WebKit smoke failure as a Safari bug

#2132 was filed asserting that a Safari user opening an MCP App gets a
permanently 'loading' widget. That was never tested. A manual check in
real Safari renders the App normally, so the claim is unsupported and is
removed from all six places it reached.

The failure under Playwright's WebKit is real and still keeps that engine
out of the CI matrix. What is not established is that any shipping
browser behaves this way — and Playwright ships its own WebKit build
whose networking stack is not Safari's, which is exactly the layer the
failure lives in.

headless-browser.mjs already carried the caveat that a green WebKit run
is not a Safari guarantee. The same sentence forbids the inverse
inference, which is the one that was made; it now says so explicitly, and
AGENTS.md carries the rule: reproduce in the real browser before claiming
user impact in one.

No behavior change.

Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
cliffhall 2026-08-25 22:32:47 -04:00
commit 25eb2fb3bf

View file

@ -128,8 +128,8 @@ jobs:
#
# This is the only place the MCP Apps sandbox is exercised on a non-Chromium
# engine, and it earned its keep immediately: pointing the smokes at WebKit is
# what found #2132, a Safari-only hang in the web client's SSE transport that
# every Chromium-only tier had been green through.
# what found #2132, an undelivered-SSE-tail hang no Chromium-only tier could
# see. (Note #2132 is NOT known to affect Safari — see the matrix comment.)
#
# The unit tests cannot substitute — `sandbox-csp.test.ts` asserts
# which policy STRING is built, which passes identically on an engine that
@ -149,11 +149,12 @@ jobs:
matrix:
# `webkit` belongs here and is deliberately absent: the smokes RUN in it
# (`SMOKE_BROWSER=webkit` works, and smoke:web:browser passes), but the
# two App smokes fail on a real, pre-existing Safari incompatibility in
# the web client's SSE transport — #2132, which carries the diagnosis and
# the verified fix. Adding it here is a one-word diff once that lands.
# An engine is either green or absent; a `continue-on-error` job would
# report coverage nobody is holding to a standard.
# two App smokes fail on #2132 — the SSE stream's last message is not
# delivered, so an App never leaves "loading". That is NOT reproduced in
# real Safari, so read it as a property of Playwright's WebKit build
# rather than a browser bug. Adding it here is a one-word diff once it is
# resolved. An engine is either green or absent; a `continue-on-error`
# job would report coverage nobody is holding to a standard.
browser: [firefox]
name: Sandbox smokes (${{ matrix.browser }})
steps: