Same reasoning as components.ts: an add-on installed from the Store resolves
@mica/sdk and nothing else, so a helper reachable only at ../../utils/ does not
exist for it. Fifteen imports across the app modules were doing exactly that.
Only things that are genuinely platform surface. App-specific helpers belong in the
app — hashStringToCardNumber was a utils/ file used by nothing but Bank, and now
lives there.
Every implementation below is in sdk/lib/, never lib/phone/, and that is checked
rather than observed: lib/ownership.test.ts (MICA-171, and MICA-172 once the
SDK-owned half moved in here) fails if anything under sdk/ reaches the phone-owned
half. Adding a re-export here whose module lives in lib/phone/ is the thing it
catches — move the module, or do not export it.
Pure helpers apps are allowed to use.
Same reasoning as
components.ts: an add-on installed from the Store resolves@mica/sdkand nothing else, so a helper reachable only at../../utils/does not exist for it. Fifteen imports across the app modules were doing exactly that.Only things that are genuinely platform surface. App-specific helpers belong in the app —
hashStringToCardNumberwas autils/file used by nothing but Bank, and now lives there.Every implementation below is in
sdk/lib/, neverlib/phone/, and that is checked rather than observed:lib/ownership.test.ts(MICA-171, and MICA-172 once the SDK-owned half moved in here) fails if anything undersdk/reaches the phone-owned half. Adding a re-export here whose module lives inlib/phone/is the thing it catches — move the module, or do not export it.