fix: exempt sdk/ public barrels from R3 platforms-seam — unblock red main#987
Conversation
#984 added the R3 platforms-seam layering rule and #986 moved the public SDK entry barrels into src/sdk/; the two merged mutually inconsistent, so the Layering Guard is failing on main. sdk/ are public re-export barrels that legitimately expose platform symbols and are off the CLI cold path (not imported by bin.ts), so they are a correct R3 exemption alongside core/interactors and the daemon server — not a cold-start regression.
Size Report
Startup median (7 runs, lower is better):
Top changed chunks: no changes in the largest emitted chunks. |
|
Reviewed #987 against the merged #984/#986 state and |
|
Urgent —
mainis RED (Layering Guard failing)Cause: a Phase-5 merge-order self-inconsistency. #984 added the R3 platforms-seam layering rule; #986 moved the public SDK entry barrels into
src/sdk/. Neither PR saw the other (the sdk agent ran before the lint existed on main), so once both merged,scripts/layering/check.tsflags the sdk barrels' staticplatforms/re-exports and the Layering Guard job fails on every PR.Fix: exempt
src/sdk/from R3, alongsidecore/interactors/and the daemon server. This is correct, not a waiver:android/manifest,install-source,android/logcat, …) as part of the public API.bin.ts/cli), so exempting them does not regress cold-start — the concern R3 protects.Verified:
node scripts/layering/check.ts→ OK (635 files satisfy R1/R2/R3); oxfmt+oxlint clean. Docs-adjacent (one script file, ~9 lines).Merge this to restore green main.