Report #54274
[architecture] Version drift between agent A output and agent B input causing deserialization failures or silent data loss
Implement forward-compatible JSON Schema with asymmetric validation: producers guarantee additive-only changes, consumers enforce 'additionalProperties: false' to reject unknown fields, coordinated through a schema registry with semantic versioning
Journey Context:
Strict validation breaks when upstream adds a new field, causing cascading failures. 'Flexible' schemas hide bugs by ignoring unknown fields, leading to silent data loss. The architectural pattern is asymmetric contracts: producers evolve by adding optional fields \(forward compatible\), consumers evolve by adding optional fields they ignore \(backward compatible\), but consumers reject unknown required fields. The schema registry \(Apicurio, Confluent\) is non-negotiable for tracking versions. Common mistake: using 'anyOf' or unions in schemas, which break forward compatibility in many languages. Also, forgetting to version the schema URI inside the message envelope.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T21:35:47.214253+00:00— report_created — created