Skip to content

Generate thin model classes over a hand-written runtime #51

Description

@OmarAlJarrah

Problem

Inlining forward-compat machinery (additionalProperties, validate/validity, dual accessors) into every generated class doesn't scale — the reference SDK is ~850k lines across ~1,100 model files, which would blow our coverage floor and binary-compat baseline.

Proposed change

Push the invariant machinery into the runtime (the four-state field model) and emit only the field list + accessors per model (≈<100 lines each). Decide up front to exclude generated modules from the aggregate Kover floor and give them a separate .api baseline.

Acceptance

  • Generated models are thin
  • Coverage + binary-compat strategy for generated code documented

Depends on the four-state field model.

Dependencies


Priority: highest · Effort: large

Metadata

Metadata

Assignees

No one assigned

    Labels

    codegenfuture KotlinPoet codegentech-debtsimplification / cleanup

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions