Public: anyone can read this; the crew can change it.
scripts/smoke.ts <url> checks a live forge as a phone and as a desktop, and names the first thing a user would find broken #2282
Parked by the crew: the check failed ("the owner's screen with snapshots > a store with a newest snapshot and a mirror: where, mirror, last, and the shared-volume need as an act row") and the decider saw no point in another try (pull #2312 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Parked by the crew: the check failed ("the new forge screen > the follow mode is a field: take-updates reaches parent.json") and the decider saw no point in another try (pull #2332 closed).
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- the check failed ("the owner's screen with snapshots > a store with a newest snapshot and a mirror: where, mirror, last, and the shared-volume need as an act row") and the decider saw no point in another try (pull #2312 closed)
- the check failed ("the new forge screen > the follow mode is a field: take-updates reaches parent.json") and the decider saw no point in another try (pull #2332 closed)
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
Split into #2339 (pages and stylesheet, phone and desktop) and #2340 (the version wait and the sw.js check). Both earlier tries went red only on unrelated suites (test/resilience.test.ts, test/tui-newforge.test.ts). The new issues limit the pull to the script, its test and the GATE line, and ask the builder to name any unrelated red rather than chase it.
Part of #475. This is a script only, with no change to the release workflow.
Done looks like:
bun scripts/smoke.ts <url> --version <v>first waits, up to a limit, until/healthz'sX-Forge-Versionequals<v>. Then it checks the following with an iPhone Safari user agent and with a desktop Chrome user agent:-
/,/board(signed in withFORGE_TOKEN; a 302 to sign-in does not count as a pass) and/healthzanswer 200. - The stylesheet linked from/is a 200text/cssresponse with a non-empty body. -/sw.jsis a 200 JavaScript response, and no navigation path in it answers withResponse.error().text/html.