Resolving qualified namespace-imported type references before declaring them opaque makes the focused interface reduction exact, but the untouched pinned Zod 4.5.2 corpus gate exposes four added diagnostics and only two removals.
Clean ReleaseFast evidence (explicit --noEmit, zero generated .js files):
- baseline: 1,162 diagnostics, SHA-256
0d1d85991dcbb73deb00dba10da1bbef60c10c48fd50b3819887096553110ab9 - candidate: 1,164 diagnostics, SHA-256
3bddb86ac12581c73bcbd9d6d48c0a55e206e8a1b418c438fa3a20426e41f84a - candidate output is byte-identical across two runs
- exact delta: 4 added, 2 removed
Added diagnostics:
src/v4/core/schemas.ts:1204TS2430 on$ZodCustomStringFormat<Format>src/v4/core/schemas.ts:2002TS2322 assigning an inferred option-key arraysrc/v4/core/schemas.ts:3789TS2774 on a function conditionsrc/v4/core/schemas.ts:4424TS2430 on$ZodPreprocessDef<B, I>
Acceptance criteria:
- isolate each added diagnostic with a minimal reference-validated reduction
- fix the underlying relation/inference/narrowing semantics rather than suppressing diagnostics
- retain qualified imported interface member types without marking resolved paths contextual-only
- require zero added diagnostics on the untouched 106-file corpus
- keep the corpus tree byte-identical to the official Zod 4.5.2 tarball and pass
--noEmitexplicitly - do not publish timing or README claims until semantic admission