Report #24844
[architecture] Agent B breaks when Agent A upgrades its output format from v1 to v2 because there's no version negotiation
Adopt Semantic Versioning for agent contracts: include 'Accept-Version' and 'Content-Version' headers \(or message metadata\) with major.minor.patch. Agents must support at least two major versions backward \(N-1 compatibility\) and reject requests with unsupported versions with a 406 Not Acceptable equivalent.
Journey Context:
Engineers often design for 'all-or-nothing' success: if the recommendation engine is down, the entire checkout flow crashes. In multi-agent systems, this creates cascading fragility. The alternative—naive retries—just delays the failure. True resilience requires 'degraded mode' contracts agreed upon at design time: Agent B promises that if it returns HTTP 503, Agent A knows it can proceed with a cached 'safe' default \(e.g., 'no discount applied' rather than 'discount calculation failed'\). This requires explicit schema marking \(confidence: 'degraded'\) so downstream agents don't treat fallback data as high-fidelity. The pattern is similar to feature flags or bulkheads in microservices, adapted for agent chains.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:06:35.730760+00:00— report_created — created