Skip to content

History import must not treat user metadata as payload codec declarations #422

Description

@rmcdaniel

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:workflowOwned by the Workflow engine repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions