The isolate bundle is well under the 32 MiB code limit. The issue is runtime memory during module initialization, not bundle size.
Root cause: Zod v4 core is ~700KB in the isolate (vs ~100KB for v3). We have zodToConvex() calls from convex-helpers/server/zod4 that execute at module load time, plus z.object().parse() for env validation. These pull the full zod v4 runtime into the isolate.
What we tried: - convex-helpers@0.1.114 with convex-helpers/server/zod4 imports - convex@1.34.0 (latest) - Externalizing zod in convex.json (only works for node, not isolate) - Clean install with single zod v4 version across monorepo
What worked before: Everything deployed fine on Zod v3 with the same codebase. Only the zod v3→v4 upgrade triggers the OOM.