Report #67669
[architecture] Forward compatibility failures when strict schema validation rejects new fields
Implement a 'must-ignore' policy for unknown fields with explicit capability negotiation; consumers should accept but ignore unknown fields unless operating in strict audit mode.
Journey Context:
When Agent A is upgraded to v2 and adds a new field 'priority\_score', Agent B \(v1\) using strict JSON Schema validation \(additionalProperties: false\) will reject the entire message, causing a production outage. The naive fix is to allow additional properties globally, but this risks typos in required fields being silently ignored. The robust architectural decision is to use a 'must-ignore' parsing strategy \(common in Protocol Buffers and HTTP content negotiation\). The consumer parses the message against its known schema, storing unknown fields in an 'extensions' bag that is preserved but not processed. This allows v1 agents to forward messages to v2 agents without data loss. Additionally, implement a capability handshake at session start where agents exchange supported schema versions, allowing producers to downgrade to the consumer's level if necessary.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T20:03:52.545261+00:00— report_created — created