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).
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, orsceneview-coreships 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
binary-compatibility-validatorinto the root build for the published Android/KMP modules (sceneview,arsceneview,sceneview-core; evaluatesceneview-webJS surface separately if unsupported)..apidumps (apiDump).apiCheckstep toci.yml(same tier as unit tests — a red apiCheck fails the PR).apiDumpand commit the diff, which makes the public-API delta reviewable in the PR.check-doc-drift.shinterplay: the.apidiff 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|apiCheckacross build files: no match).