flux-pr-5409
Zod (TypeScript) · W2 · GPT-5.3 Codex
Tests failed. 1/2 commands passed. Strength: weak.
pnpm buildnpx vitest run packages/zod/src/v4/core/tests/locales/he.test.ts -t "string\ type\ \(feminine\ \-\ צריכה\)|number\ type\ \(masculine\ \-\ צריך\)|array\ type\ \(masculine\ \-\ צריך\)|set\ type\ \(feminine\ \-\ צריכה\)|array\ max|string\ expected\ \(feminine\),\ number\ received|number\ expected\ \(masculine\),\ string\ received|boolean\ expected\ \(masculine\),\ null\ received|array\ expected\ \(masculine\),\ object\ received|object\ expected\ \(masculine\),\ array\ received|function\ expected\ \(feminine\),\ string\ received|feminine\ types\ use\ צריכה|masculine\ types\ use\ צריך|single\ value|two\ values|multiple\ values|not_multiple_of|unrecognized_keys\ \-\ single\ key|unrecognized_keys\ \-\ multiple\ keys|invalid_union|invalid_key\ in\ object|startsWith|endsWith|includes|regex|email|url|uuid|invalid\ element\ type\ in\ tuple\ shows\ full\ error\ message|inclusive\ minimum\ \(>=\)|exclusive\ minimum\ \(>\)|inclusive\ maximum\ \(<=\)|exclusive\ maximum\ \(<\)|verifies\ all\ type\ translations\ are\ correct"Partial score: 1/2
Trajectory
unknown · partial order onlyCanonical trajectory missing; showing coarse derived order only.
Quality
Equivalence Reasoning
behavioral
The patch improves many messages, but it misses core intent around fully localized, natural Hebrew in key/element context messages: `invalid_key` and `invalid_element` still fall back to raw origin strings via `ב${origin}` (e.g. potentially `בarray`/`בobject`), which breaks the requested localized type-label and definite-article consistency.
Code Review
The patch is structurally thoughtful but likely does not satisfy the intended change set because multiple high-visibility locale strings differ from expected Hebrew phrasing contracts and key tested outputs.
The patch returns an expanded sentence for `invalid_union` instead of the simpler expected output, which is likely to fail message-exact locale tests.
Expected behavior for key-related errors is a specific object-field phrasing, but the patch emits `מפתח לא תקין ...` with origin-dependent context, changing both noun choice and structure.
The patch builds `invalid_element` with `originContext(issue.origin)`, which can produce non-localized forms (e.g., generic `ב${origin}`) instead of consistent Hebrew definite-article type labels.
For `too_small`/`too_big`, the patch uniformly uses `חייב/חייבת` and min/max prose helpers, diverging from expected gender-aware `צריך/צריכה` and task-specific wording consistency.
The patch switches to `אינו/אינה תקין/ה` with definite nouns, which can mismatch expected locale strings for formats like email/url/uuid that rely on stable wording.
The output changed from `לא מזוהה/ים` style to `לא מוכר/ים`, which is likely to break exact-match tests for single/plural key errors.