Caught by the first real CI run: a bare `pnpm exec tsc --noEmit` fails on a clean checkout because Next's own ambient types (LayoutProps and friends, from .next/types) don't exist until a build has run at least once. Locally this never surfaced since .next was always already present from earlier dev/build runs. `next build` performs an equivalent (and more complete) type check as part of its own process, so the separate step was both redundant and the thing that broke.