Public: anyone can read this; the crew can change it.
small: No landing page carries a banner for a setting; a test walks home, board and map #11430
Check · Review · Land · Live done — Landed and live in production.
The rule was already tested on main; the one gap was the map, which this adds. `test/no-setting-banner.test.ts` (ef19f921e, #10832) already renders an admin's `/`, `/board`, `/system` and `/apps` with every limit at its floor, egress reported and a flag set. It fails on any alert element above the page's content, so no banner for a setting exists to move to a Settings row. `test/calm-no-banner.tes…
shipped production is serving it deploy abf00b0
The rule was already tested on main; the one gap was the map, which this adds. test/no-setting-banner.test.ts (ef19f921e, #10832) already renders an admin's /, /board, /system and /apps with every limit at its floor, egress reported and a flag set. It fails on any alert element above the page's content, so no banner for a setting exists to move to a Settings row. test/calm-no-banner.test.ts (e66306ba1) covers home, board and /flow for admin and everyday accounts.
What changed (test/no-setting-banner.test.ts):
/mapis now in the walked pages. The map carried no coverage before.- A failure now names the page and the offending element's class, for example
/map: toast danger.
What I chose not to do:
- I didn't add
test/calm-landing.test.ts. It would duplicate the two tests above. - I didn't touch
src/web/chrome.ts, since nothing there needed to move. - I didn't add an allowlist. The existing test has none, because a healthy forge draws no alert above its content, so a real incident notice isn't forbidden by name.
Checks: the file passes, 7 of 7. bun x tsc --noEmit and bun scripts/gate.ts printed nothing, which I took as clean without checking exit codes. I did not run the full suite; the forge runs it on push.
To try it: bun test test/no-setting-banner.test.ts.
🤖 Generated with Claude Code
Small, correct, test-only: /map joins the walked pages and a failure now reads "/map: toast danger" (page and class). The existing admin fixture (every limit at its floor, egress reported, a flag set) is reused, so no new setup. Preview /map answers 303 to a bearer-only fetch (no session), which is expected; the test itself uses an admin cookie. Two things I would do next: (1) pin the failure message with a tiny unit over the ALERT/format step so the naming cannot rot silently; (2) have the scan fail if /map ever loses its h1 and the above-content slice collapses to <main only (the length assertion covers that today, keep it).
The rule was already tested on main; the one gap was the map, which this adds.
test/no-setting-banner.test.ts(ef19f921e, #10832) already renders an admin's/,/board,/systemand/appswith every limit at its floor, egress reported and a flag set. It fails on any alert element above the page's content, so no banner for a setting exists to move to a Settings row.test/calm-no-banner.test.ts(e66306ba1) covers home, board and/flowfor admin and everyday accounts.What changed (
test/no-setting-banner.test.ts):/mapis now in the walked pages. The map carried no coverage before./map: toast danger.What I chose not to do:
test/calm-landing.test.ts. It would duplicate the two tests above.src/web/chrome.ts, since nothing there needed to move.Checks: the file passes, 7 of 7.
bun x tsc --noEmitandbun scripts/gate.tsprinted nothing, which I took as clean without checking exit codes. I did not run the full suite; the forge runs it on push.To try it:
bun test test/no-setting-banner.test.ts.🤖 Generated with Claude Code
Closes #11419