ig.run's userland surface on iOS: exactly the services the publicly
runnable effects of the runtime require, each of them required by at least
one such effect (pinned by a type test in ios.igpapi.bridge.test.ts):
the services MobileRuntimeRequirements names: every brick the shared
mobile facades carry, plus the services the public FlushTelemetry
effect requires (AnalyticsSend, MobileTelemetry);
JsonResponseHttp, which the platform's own flows (IosAppLaunchFlow
among them) send some of their requests through, and WebViewHttp (the
challenge web bricks);
the process services the iOS flows run on — IosProcess, IosSession
and MobileNavigation.
It is a surface, not the layer's output: it grows only when a public effect
starts requiring a service, and a type test pins both directions against the
package's own barrel. The native Transport is deliberately absent — it takes
ready bytes. Open fact:MobileHttpRequest is still in the surface
because facade bricks use it today (PostingLive, the segmented video
upload), so a caller can send an arbitrary request through it; its cost is a
request with caller-chosen headers and host, and closing it needs those
bricks moved to narrow capabilities.
ig.run's userland surface on iOS: exactly the services the publicly runnable effects of the runtime require, each of them required by at least one such effect (pinned by a type test inios.igpapi.bridge.test.ts):MobileRuntimeRequirementsnames: every brick the shared mobile facades carry, plus the services the publicFlushTelemetryeffect requires (AnalyticsSend,MobileTelemetry);JsonResponseHttp, which the platform's own flows (IosAppLaunchFlowamong them) send some of their requests through, andWebViewHttp(the challenge web bricks);IosProcess,IosSessionandMobileNavigation.It is a surface, not the layer's output: it grows only when a public effect starts requiring a service, and a type test pins both directions against the package's own barrel. The native
Transportis deliberately absent — it takes ready bytes. Open fact:MobileHttpRequestis still in the surface because facade bricks use it today (PostingLive, the segmented video upload), so a caller can send an arbitrary request through it; its cost is a request with caller-chosen headers and host, and closing it needs those bricks moved to narrow capabilities.