STET

flux-pr-5187

Zod (TypeScript) · W2 · GPT-5.3 Codex

fail_high_conf

Tests failed. 0/1 commands passed. Strength: weak.

69.2% run pass rate
Tier 1
primary equivalencefailedneeds generated testsweak signal riskcommand source driftnon equivalentfail
npx vitest run packages/zod/src/v4/core/tests/locales/es.test.ts -t "Spanish\ locale\ \-\ type\ name\ translations\ in\ too_small\ errors|Spanish\ locale\ \-\ type\ name\ translations\ in\ too_big\ errors|Spanish\ locale\ \-\ type\ name\ translations\ in\ invalid_type\ errors|Spanish\ locale\ \-\ fallback\ for\ unknown\ type\ names|Spanish\ locale\ \-\ other\ error\ cases"
gold passagent fail

Partial score: 0/1

Publishable: noWeak signal risk: yesCache: miss

Trajectory

unknown · partial order only

Canonical trajectory missing; showing coarse derived order only.

patch written
Patch captured
#1

Stet captured agent.patch for this trial.

validation
Tests failed
#2
equivalence
Equivalence judgment
#3

non_equivalent

code review
Code review judgment
#4

fail

decision
Final decision
#5

fail_high_conf

Quality

equivalence
non_equivalent
77% confidence
code review
fail
2 findings
footprint
low (0.15)
behavioral
0.0%
cost
$1.12 · 331K

Equivalence Reasoning

behavioral

The patch applies `getTypeName(...)` in the right error branches, but the Spanish type map is incomplete/inconsistent with the intended fix: some type labels can still surface as raw English identifiers (e.g. `bigint` is left as `bigint`, and keys like `enum`, `union`, `literal`, `any` are not mapped). So it does not fully achieve consistent Spanish type-name translation across the targeted messages.

Code Review

correctness: 1/4introduced bug risk: 2/4edge case handling: 1/4maintainability idioms: 2/4

The patch moves logic in the right direction but likely does not fully satisfy the task: type-name localization remains inconsistent/incomplete in the new map, so user-facing Spanish errors can still contain raw or non-target labels.

2 findings
Spanish type-name map is incomplete and partially nonlocalized
major

The new `TypeNames` map leaves some key labels untranslated or inconsistent (for example `bigint: "bigint"`) and omits several common type keys, so messages can still surface raw/non-Spanish type names despite the new mapping calls.

packages/zod/src/v4/locales/es.ts:13
Parsed received-type translation is not normalized through canonical type keys
major

`invalid_type` now calls `getTypeName(parsedType(issue.input))`, but `parsedType` still emits localized/raw labels for some branches (e.g. number/array/null) while others emit canonical JS type strings; this mixed model can produce inconsistent translations and misses the intended uniform mapping behavior.

packages/zod/src/v4/locales/es.ts:28