Skip to content

ci(sdk): wire binary-compatibility-validator — committed .api dumps + blocking apiCheck gate #2723

Description

@ThomasGorisse

Shortlist #2642 item 4 (V1, roi 8.5 / quality 9.5, no gate): the SDK has no public-API surface tracking — a signature change in sceneview, arsceneview, or sceneview-core ships silently unless a reviewer happens to notice. For an AI-first SDK whose docs (llms.txt) promise exact signatures, that is the doc-drift bug class at the binary level.

Scope

  • Wire Kotlin's binary-compatibility-validator into the root build for the published Android/KMP modules (sceneview, arsceneview, sceneview-core; evaluate sceneview-web JS surface separately if unsupported).
  • Generate and COMMIT the initial .api dumps (apiDump).
  • Add a blocking apiCheck step to ci.yml (same tier as unit tests — a red apiCheck fails the PR).
  • Document the workflow in CONTRIBUTING.md: intentional API changes re-run apiDump and commit the diff, which makes the public-API delta reviewable in the PR.
  • Check check-doc-drift.sh interplay: the .api diff is a deterministic signal it can consume later (note only, no coupling required now).

Verified absent on main as of 2026-07-16 (grep binaryCompatibilityValidator|apiValidation|apiCheck across build files: no match).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions