Normalized execution-mode, execution-surface, and execution-environment configuration with precedence-aware merging.
This module is the explicit carrier boundary between the ASM kernel, the frozen lower contract packet, and the Wave 5 durable session vocabulary:
BoundarySessionDescriptor.v1ExecutionRoute.v1AttachGrant.v1CredentialHandleRef.v1ExecutionEvent.v1ExecutionOutcome.v1ProcessExecutionIntent.v1JsonRpcExecutionIntent.v1
The named boundary metadata groups carried above that packet are:
descriptorrouteattach_grantreplayapprovalcallbackidentity
execution_surface and execution_environment remain the family-facing
mapped carrier IR here. The detailed lower intent interiors stay provisional
until Wave 3 prove-out.
Summary
Types
@type t() :: %ASM.Execution.Config{ execution_environment: ASM.Execution.Environment.t(), execution_mode: :local | :runtime, execution_surface: CliSubprocessCore.ExecutionSurface.t(), provider_permission_mode: atom() | nil, transport_call_timeout_ms: pos_integer() }
Functions
@spec boundary_contract_keys() :: [String.t(), ...]
@spec execution_plane_contracts() :: [String.t(), ...]
@spec provisional_minimal_lane_contracts() :: [String.t(), ...]
@spec resolve(keyword(), keyword(), keyword()) :: {:ok, t()} | {:error, ASM.Error.t()}
@spec to_execution_environment(t()) :: ASM.Execution.Environment.t()
@spec to_execution_surface(t()) :: CliSubprocessCore.ExecutionSurface.t()