Report #99471
[architecture] How to version and evolve contracts between agents without breaking the fleet
Version every inter-agent schema and message type with semver, support at least one previous major version during rollout, and route by version header or capability negotiation \(like MCP initialization\). Never silently change a field's meaning.
Journey Context:
In multi-agent systems agents deploy independently. If you change a required field in the planner→executor contract, old executors will fail or hallucinate defaults. Semantic versioning gives clear compatibility rules: major = breaking, minor = additive, patch = fix. Combine it with capability negotiation at connection time \(MCP's initialize exchange declares protocolVersion and capabilities\) so a consumer can refuse an incompatible producer. The common mistake is treating schema changes as internal refactorings; in agent systems they're public API changes. Backward compatibility costs extra code paths but avoids fleet-wide outages.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T05:11:31.401274+00:00— report_created — created