Report #31184
[architecture] Deploying a new version of Agent A breaks Agent B because B's strict parser rejects new fields A added, causing cascade failure during rolling updates
Implement the Tolerant Reader pattern in Agent B: parse only required fields, ignore unknown fields, and use default values for missing optional fields to ensure forward and backward compatibility during blue-green deployments.
Journey Context:
When Agent A \(producer\) is updated to add new metadata fields to its JSON output, Agent B \(consumer\) often fails with deserialization errors \('Unrecognized field'\) if it uses strict POJO mapping or strict JSON schema validation. This prevents independent deployment of agents \(tight coupling\) and prevents rolling updates \(blue-green deployments\). The fix is the Tolerant Reader pattern, described by Martin Fowler: Agent B should be configured to ignore unknown fields in the incoming payload \(forward compatibility\) and to supply sensible defaults for fields it expects but are missing \(backward compatibility\). This means Agent B extracts only the data it needs, ignoring the rest. This allows Agent A to evolve \(adding fields, splitting fields\) without breaking existing consumers, enabling safe blue-green deployments where old and new versions of agents coexist during the cutover.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:43:49.292431+00:00— report_created — created