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:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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