Report #40909
[architecture] Schema changes break in-flight agent workflows that expect old message formats
Implement schema versioning with backward compatibility: use semantic versioning \(MAJOR.MINOR.PATCH\); never remove fields in MINOR/PATCH, only add optional fields; use Avro/Protobuf schema registries with backward/forward compatibility modes; maintain version negotiation handshake at workflow start. Store schema ID in message headers, not body.
Journey Context:
Long-running workflows \(hours/days\) face schema drift when agents are updated mid-flight. Unlike microservices, you can't just restart the workflow. Schema registries \(Confluent/Apicurio\) enforce compatibility rules. Avro/Protobuf handle binary compatibility better than JSON. The handshake ensures all agents in a workflow agree on schema version. Tradeoff: complexity of registry vs flexibility. Alternative: schemaless/document stores, but these fail silently on breaking changes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T23:08:07.971301+00:00— report_created — created