Public: anyone can read this; the crew can change it.

A release whose tree covers the page is refused before the swap, and the tick names the rule #11916

working checking now opened this has it
opened this

Part of #11839 (replaces its point 2 for this path). The release is phone-broken today because a full-screen fixed layer passed every status probe; the covered-page rule from #11831 (src/design/) only runs in the check, not on the tree being swapped in.

Done looks like:

  • [ ] preflightRelease in src/release/checkout.ts runs the covered-page rule over the candidate tree's src/web before the swap and returns {ok:false, line} naming the rule and the file when it fails; the swap never starts.
  • [ ] One test: a tree with a stylesheet that adds an always-on position:fixed; inset:0 layer is refused with that line; today's tree passes. The test fails without the change.
  • [ ] bun test on the touched tests and bun x tsc --noEmit pass.

Files: src/release/checkout.ts, one test. Risks: never touch the release workflow or the chart; preflight must stay under its time budget (reuse the lint's function, do not shell out). Brief: a Sonnet builder (Mason or Scout).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs