The failure
npm ERESOLVE on every Release Video run
# workflow: .github/workflows/release-video.yml — job: Render Videos npm error code ERESOLVE npm error While resolving: @remotion/zod-types@4.0.447 npm error Found: zod@3.22.3 (root project pin) npm error peer: zod@"4.3.6" (required by @remotion/zod-types) npm error Could not resolve dependency.
The Remotion team shipped @remotion/zod-types@4.0.447 with a hard peer-dep on zod@4.3.6. Our orchestkit-demos/package.json had zod: 3.22.3 pinned — npm refused to resolve.
The fix
One-line package.json change
// orchestkit-demos/package.json "dependencies": { "@remotion/zod-types": "^4.0.0", - "zod": "3.22.3" + "zod": "^4.3.6" }
Why the upgrade is safe
All existing zod usage is v3/v4 API-compatible
Audited every z.* call across the 5 components that use zod. Only basic API surface — no v3-only features.
| Component | zod API used | v4 compat |
|---|---|---|
MarketplaceIntro.tsx | z.object, z.string, z.infer | ✓ |
SpeedrunDemo.tsx | z.object, z.string, z.infer | ✓ |
TriTerminalRace-Square.tsx | z.object, z.string, z.number, z.array, z.union, z.record | ✓ |
ProgressiveZoom-Square.tsx | z.object, z.string | ✓ |
ProgressiveZoom-Vertical.tsx | z.object, z.string | ✓ |
Not used anywhere: z.coerce, z.string().email() (v4 renames it), custom .refine() with error maps (signature changed). Clean upgrade path.
Verification
$ cd orchestkit-demos $ npm install --no-audit --no-fund added 4 packages, removed 6 packages, and changed 2 packages in 3s $ npx tsc --noEmit (exit 0 — no type errors)
Post-merge expectation
The next release tag (likely v7.60.0 after the next release-please merge) should render the landscape + square videos successfully, then upload them as release assets via the App token — exercising the full pipeline end-to-end for the first time since the tokens migrated in PR #1426.
If this still fails after merge, the bug is upstream of zod — most likely a Remotion composition ID mismatch or a ffmpeg codec issue. That would be a separate fix.