Optional ReadonlyadaptiveWhether the presented app profile sends x-ig-is-adaptive-ui
(MobileApplicationState.adaptiveUi): a profile fact, not request state.
OptionalmsgrThe Direct message region the app learned from an IGRealtimeRegionHintQuery
answer (data.xdt_igd_msg_region.region, e.g. FRC). The app persists it
per account and reports it as x-msgr-region on its Direct-surface
requests, in later processes too (the 451 warm launches carry FRC with no
query of their own). Absent until an answer sets it; an empty stored value
is a region the answer left empty and renders as the empty header on the
Direct GraphQL requests only. See "Direct message region (x-msgr-region)"
(packages/core/src/android/spec/direct-message-region-x-msgr-region.md).
Optional ReadonlynavThe rendered navigation chain; present once the session has a screen in front.
Optional ReadonlyprocessWhether this app process began with a stored session (MobileProcessStart).
Optional ReadonlyradioWhether the device's network reports a radio (androidRadioNetworkOf); the
radio half of the tasos family rides on it.
Optional ReadonlyrmdThe routing-map state the process reports (rmdReportedOf: the install's
map once the process started evaluating it); absent until then.
Optional ReadonlysaltThe rendered x-ig-salt-ids of the flows running now (MobileUserFlows,
saltIdsOf); absent when the app would send none.
OptionalsessionSet while the app is running the jobs it launches at user-session creation
(see RequestScope's session-start). Requests issued in this window omit
the x-pigeon-session-id header: the 448 build carries it on the
pre-login and late-session families but not on the post-login session-start
burst (sequences 23–35), where it reappears from the request after the burst.
Optional ReadonlyzeroDevice state: the device holds an uploaded zero-campaign attestation key
and the presented build carries the zero-rating table. The ids
(x-zero-a/d/f-device-id) ride with both facts; a request cannot declare
them.
OptionalzeroSet once the app has started its zero-rating campaign evaluation; the
zero-http-network-interface header is reported from then on. A separate
concept from MobileSessionState.rmdEvaluationStarted: the 448 build carries
x-fb-rmd already on the Loom config request but the network interface only
from the zero-campaign request that follows it (see StartZeroInterface).
Optional ReadonlyzeroBuild wire fact: the presented profile carries the zero-rating table
(MobileApplicationState.ZERO_HEADERS), so it sends x-zero-balance /
x-zero-eh. A request cannot declare it.
The state the edge reads to derive request features: session state, the rendered navigation chain from
NavigationWire, the process fact and the one app-profile wire fact the resolver takes. The resolver itself never sees raw state — only the normalized inputs this produces.