Problem
Embedded v2 history import recursively treats codec-looking keys anywhere in an export bundle as durable payload codec declarations. Customer-owned memo or search-attribute data such as {"payload_codec":"json"} or a nested {"codec":"json","blob":"user data"} can therefore make an otherwise valid Avro export fail with payload_codec.unsupported.
Acceptance criteria
- Validate codec declarations at schema-defined payload rows and envelopes, without interpreting arbitrary memo, search-attribute, or other user-owned values as codec metadata.
- Continue to reject JSON and unknown codecs at every actual payload codec location, including nested history payloads and external payload references.
- Add export/import coverage for codec-looking user keys and negative coverage for each supported payload-envelope shape.
- Bind traversal to the history-export contract rather than a global key-name heuristic.
Delete when
Delete when a valid Avro history bundle round-trips with codec-looking memo and search-attribute data while real non-Avro payload declarations still fail closed.
Problem
Embedded v2 history import recursively treats codec-looking keys anywhere in an export bundle as durable payload codec declarations. Customer-owned memo or search-attribute data such as
{"payload_codec":"json"}or a nested{"codec":"json","blob":"user data"}can therefore make an otherwise valid Avro export fail withpayload_codec.unsupported.Acceptance criteria
Delete when
Delete when a valid Avro history bundle round-trips with codec-looking memo and search-attribute data while real non-Avro payload declarations still fail closed.