STET

flux-pr-5156

Zod (TypeScript) · W2 · GPT-5.3 Codex

pass

Tests passed. 3/3 commands passed. Strength: strong.

69.2% run pass rate
Tier 1
primary testspassedequivalentunsure
pnpm build
gold passagent pass
find . -name vitest.config.ts -exec sed -i 's/test: {/test: { testTimeout: 30000,/' {} +
gold passagent pass
pnpm test -- --maxWorkers 1 --maxConcurrency 1 --retry 2
gold passagent pass

Partial score: 3/3

Publishable: 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 passed
#2
equivalence
Equivalence judgment
#3

equivalent

code review
Code review judgment
#4

unsure

decision
Final decision
#5

pass

Quality

equivalence
equivalent
86% confidence
code review
unsure
2 findings
footprint
low (0.13)
behavioral
100.0%
cost
$1.68 · 535K

Equivalence Reasoning

stylistic

The agent patch applies the core behavioral fix: OpenAPI 3.0 `null` is emitted via nullable-compatible schemas, union handling no longer strips/rewrites `null` branches, and `nullable` wrappers use `$ref` + `nullable` semantics. Differences from gold (extra literal-`null` handling, no tuple spread tweak, no devDependency addition) do not change the intended runtime/schema-generation behavior for the described bug.

Code Review

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

The agent patch captures most of the OpenAPI 3.0 null-handling logic for tuples/unions, but it likely does not fully satisfy the intended change because a required dependency update is missing; there is also a minor implementation divergence in nullable processing.

2 findings
Patch likely incomplete due missing OpenAPI validator dependency update
major

The intended change set includes adding `@seriousme/openapi-schema-validator` in devDependencies, but this patch does not modify `package.json`. Given the task context includes test patching around OpenAPI output validity, this omission can cause test/runtime failures or leave validation coverage absent.

package.json:17
Nullable OpenAPI path does unnecessary inner processing
minor

In the OpenAPI 3.0 nullable branch, `this.process(def.innerType, params)` is invoked but discarded. This differs from the intended minimal ref+nullable strategy and could introduce side effects in schema registration without affecting output directly.

packages/zod/src/v4/core/to-json-schema.ts:531