Use the native validation model of the existing runtime

A request for typed validation should normally be satisfied with the mature schema library native to the service’s existing runtime; introducing a second language or service solely to use a named validation library increases deployment, queue, and failure boundaries without improving the contract. This applies when the requested library is not itself a compatibility or integration requirement; if another system consumes that library’s exact schema or runtime behavior, the extra boundary may be justified.

Evidence/example — 2026-09-11

A Shield background-SMS design requested Pydantic models, but the authoritative queue, cron runner, provider sender, and existing payload validation are TypeScript/Bun with Zod, and no Pydantic runtime exists in the repository. The current recommendation is to confirm Zod substitution before implementation rather than silently add Python. Source provenance: read-only repository inspection in the active COR-4178 planning task.