Local pnpm builds worked because all workspace packages had their node_modules populated by `pnpm install`. The Docker builder stage was only restoring `apps/web/node_modules` from the deps stage, leaving `packages/schemas/node_modules` empty — so `next build` couldn't resolve `zod` when transpiling the shared schemas package. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>