#4150(Zod 4.6.5 → 4.6.7)の「上限超過時のフォーム確認」を、版に依存しない単体テストで置き換え、#4150 の CI で機械的に判定できるようにした。 実装は 2026-10-18 に完了(schema.test.ts のみ、本番コード変更なし)。残りは下記「残作業」の人手作業だけ。
schema.test.ts
capSize
generateSizeGate
workBookTasks
.min(1).max(200)
too_big
workBookTasks._errors
safeParse
superValidate
schema.ts
.max(200, ...)
Activity
KATO-Hiro commentedon Oct 18, 2026
Zod 配列上限の早期判定に対するテスト強化
概要
#4150(Zod 4.6.5 → 4.6.7)の「上限超過時のフォーム確認」を、版に依存しない単体テストで置き換え、#4150 の CI で機械的に判定できるようにした。
実装は 2026-10-18 に完了(
schema.test.tsのみ、本番コード変更なし)。残りは下記「残作業」の人手作業だけ。調査結果(2026-10-18)
capSize(JIT 経路はgenerateSizeGate)。上限を持つサイズ check を超えた入力では、要素を解析せずに早期 return する。4.6.7 は版番号のみの変更。workBookTasks(.min(1).max(200))だけ。too_big、4.6.7:too_bigのみ)。workBookTasks._errorsだけで、0・200・201問の全ケースで両版一致した(safeParseと Superforms 2.31.0 のsuperValidateで実測)。意思決定
superValidateはモックせず、オブジェクトを直接渡す: route は devalue 形式のリクエストを受けるが、差は復元処理だけで、Zod の検証とエラーの対応付けは同じ処理を通る。却下した案
検出力(mutation、4.6.5 で実施)
schema.tsの変異.max(200, ...)のメッセージ変更.max(200, ...)を削除残作業(人手)