ASM-owned backend metadata contract consumed by the orchestration kernel.
@type session() :: %{pid: pid() | nil, details: map()}
@type t() :: %ASM.ProviderBackend.Info{ backend: module(), capabilities: [atom()], lane: atom() | nil, observability: map(), provider: atom() | nil, runtime: module(), session: session() }
@spec merge_observability(t(), map()) :: t()
@spec new(keyword() | map()) :: t()
@spec normalize(t() | term(), keyword() | map()) :: t()
@spec session_event_tag(term(), atom() | nil) :: atom() | nil