Boundary validators can silently disable downstream features when their output is narrower…

Boundary validators can silently disable downstream features when their output is narrower than the raw provider response. With strip-by-default object schemas, every field consumed after validation must be explicitly declared (or deliberately preserved); tests that mock the post-validation client result will not catch the loss. Add a provider-shaped boundary test asserting the parsed contract, then keep route/service tests for downstream behavior. This applies to schema libraries and parsers that remove unknown keys; it does not argue for globally permissive validation.

Evidence/example — 2026-09-10

During a read-only review of E3 Shield PR #810 / COR-4092, three independent review passes found that the Google Vision response validator declared textAnnotations but omitted fullTextAnnotation. The parser then tried to read image dimensions from validated.data.responses[0].fullTextAnnotation.pages[0]; Zod had already stripped that field. The route therefore received no dimensions and omitted all new field-location evidence, while the route test stayed green because it mocked already-populated dimensions. Source provenance: repository diff 687b5c9c...c72c139e, web/src/lib/ocr/vision-client.ts and license-front-picture/route.test.ts.