ConstThe API-analytics header group: the request category tags, the derived
friendly name and the API-stack priority hint. Nearly every request carries
it; the launcher/mobileconfig config-sync surface does not (the app sends
those without the group). Presence is decided by the resolver from the
analytics.apiAnalytics feature, never from the URL.
The Android header registry — the single place a header is declared.
A facet is a semantic header group. The resolver (
resolver.ts) decides which facets a request carries fromidentity,endpointKindandfeatures; every header of a selected facet is then rendered by its provider here. A provider returnsundefinedwhen the state it renders from does not exist ("absent by state"); it never decides presence from the request shape — that is the resolver's job.Wire order is not decided here: headers are emitted in
ANDROID_HEADER_SPINEorder and the Rust transport sorts the final wire. Transport-generated headers (transport.ts) are never rendered here; transport-sorted ones (user agent, routing map, zero interface, GraphQL purpose/library) are rendered here and only positioned by the transport.