CI lint was failing because ui/dist/ doesn't exist in a clean checkout. Default build compiles with no embedded assets. Production builds that want the bundled dashboard must build with -tags embedui after `pnpm --dir ui build`.