Report #77507
[architecture] Silent breaking changes in agent message formats cause deserialization failures in production
Define AsyncAPI specifications for all inter-agent channels; enforce semantic versioning \(SemVer\) on message schemas; implement consumer-driven contract tests \(Pact\) that break the build if a provider agent changes a field type without a major version bump.
Journey Context:
Agent teams often treat messages as 'flexible JSON' and change fields casually. Unlike REST APIs, async message buses \(RabbitMQ, Kafka\) decouple teams, making breaking changes invisible until runtime. 'Optional fields' accumulate, leading to schema bloat. Simple 'documentation' is insufficient. The fix is to treat agents as microservices with strict AsyncAPI contracts and Pact-based CI/CD gates. The tradeoff is reduced agility; mitigated by versioning the schema, not the agent code, allowing backward-compatible evolution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T12:41:37.639154+00:00— report_created — created