flux-pr-4970
Zod (TypeScript) · W2 · GPT-5.1 Codex Mini
Tests passed. 3/3 commands passed. Strength: weak.
pnpm buildfind . -name vitest.config.ts -exec sed -i 's/test: {/test: { testTimeout: 30000,/' {} +npx vitest run packages/zod/src/v4/classic/tests/union.test.ts -t "surface\ continuable\ errors\ only\ if\ they\ exist"Partial score: 3/3
Trajectory
unknown · partial order onlyCanonical trajectory missing; showing coarse derived order only.
Quality
Equivalence Reasoning
behavioral
The agent implemented the union-resolution change and added normalization docs, but it missed the core version constant bump (`packages/zod/src/v4/core/versions.ts` still appears to remain at patch 8). It also enforces non-empty literals at API/factory entry points rather than in `$ZodLiteral` construction itself, which may leave internal construction paths less strictly guarded than intended.
Code Review
The patch captures the union determinism change and adds normalization documentation, but it likely does not fully satisfy the intended release because versioning is inconsistent and literal empty-value rejection is not enforced at the core constructor boundary.
The patch updates package manifests to 4.0.9 but does not update the core runtime version constant, leaving release metadata inconsistent.
Validation is added in `literal` and `_literal` wrappers, but not in the core schema constructor layer, so non-wrapper construction paths can still create empty literal schemas.
The task asks to describe normalization alongside string transforms; this patch adds a separate section instead of extending the existing transform examples where trim/lower/upper are listed.