Skip to content

Resolve generated readiness-surface helper duplication at source #8130

@doublemover

Description

@doublemover

Parent inventory: #8108
Blocked by: #8129

Objective

Resolve duplicate generated or generation-like helper surfaces between native readiness headers by fixing generator/source ownership rather than hand-editing generated output.

Shared Module Specification

  • Investigate duplicate helper families between native/objc3c/src/io/objc3_toolchain_runtime_ga_operations_core_feature_surface.h and native/objc3c/src/pipeline/objc3_parse_lowering_readiness_surface.h.
  • Confirm whether duplicated helpers are generated, hand-authored, or copied from a common source.
  • Identify the source generator or durable authoring path before editing.
  • Preserve public surface keys and readiness semantics.

Migration Checklist

  • If generated, update the generator so duplicated helper shape is emitted from one source or no longer duplicated.
  • If hand-authored, consolidate into the correct shared native module after dependency direction review.
  • Add or update tests that fail if generated output drifts from source ownership again.
  • Do not hand-edit generated output as the durable fix unless the generator/source no longer exists and that fact is documented.

Performance And Reliability Requirements

  • Keep helper code small, dependency-light, and fast enough for normal development feedback.
  • Add focused tests for edge cases before broad migration.
  • Preserve existing output schemas and public behavior unless an intentional bug fix is validated.
  • Keep production helpers separated from test-only helpers.
  • Do not use tmp/ as durable source-of-truth; generated temporary files are allowed only as transient command inputs.

Fast Tests

  • Run generator/source tests if a generator is found.
  • Run native build.
  • Run readiness surface tests/checks that cover the two headers.
  • Run git diff --check.

End-To-End Completion Criteria

  • Readiness helper duplication is resolved at the source of truth.
  • Generated or generation-like outputs are reproducible.
  • No public readiness key or claim surface regresses.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions