Strict consumer contracts should be verified against the authoritative producer's serialized…

Strict consumer contracts should be verified against the authoritative producer's serialized output and every already-supported downstream shape; self-authored fixtures prove only internal consistency. This applies when compatibility is promised. Intentional narrowing is valid only when it is version-gated, documented, and tested as such.

A reusable review method is: (1) diff producer field names, aliases, requiredness, and types against the consumer; (2) generate at least one fixture using the producer's real serialization path, including exclude-none behavior; (3) deserialize it with the strict consumer; (4) replay existing downstream fixtures; and (5) test cross-record invariants such as provenance, global ordering, and correlation scope. With extra="forbid", every producer field omitted from the consumer becomes a hard ingestion failure, so fixtures copied by hand are especially likely to hide drift.

Evidence/example — 2026-09-11

In e3-solutions/ender-inference PR #198 (head affaffa3), a new strict universal-context model passed its self-authored focused tests, but comparison with the authoritative negotiation staging producer showed that valid schema-v5 output contains fields and types the consumer forbids or contradicts (including prompt provenance, turn source metadata, node transitions, lifecycle details, and string runner generations). A producer-shaped reproduction returned multiple bounded validation errors. Existing ender-inference workflow fixtures also expose accepted nested tool-call and call-wide correlation shapes absent from the new contract.

Provenance: https://github.com/e3-solutions/ender-inference/pull/198 and https://github.com/e3-solutions/negotiation/blob/610c61ece0045f826c0da0fea4dedd053657f8b3/voice-agent/flows/universal_context.py . This is a contract-review finding, not evidence that the new model is currently wired into runtime ingestion or that all historical payload variants were enumerated.