Skip to content

codegen: implement open enum generation from enumMetadata #26

Description

@bokelley

Implement open-enum codegen using the PR #23 generator invariant.

Scope:

  • Generate unknown-safe wrappers for open protocol vocabularies, defaulting to sealed Known<T> / Unknown(rawValue).
  • Preserve raw unknown values exactly; no generic UNKNOWN sentinel that loses the wire string.
  • Emit Jackson serializer/deserializer bindings for each open vocabulary so the wire shape remains a flat scalar string.
  • Drive open/closed classification from schema metadata such as enumMetadata, not value count.
  • Treat at least these vocabularies as open in the first pass:
    • ErrorCode
    • media_buy_status
    • creative_status
    • recovery
    • action-discovery enums in allowed_actions[] / available_actions[]
    • notification types, including wholesale-feed webhook events
    • task status values

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions