Supervised local implementation of the frozen CLI RuntimeGateway lifecycle.
The public start contract is intentionally secret-free. Before start, the
credential/materialization owner binds that exact request to one governed
CliSubprocessCore.Session launch with bind_start/2. The binding is
caller-owned, in-memory, one-shot, and consumed before process dispatch.
Public sessions contain only opaque references. Raw process identifiers and launch material remain inside this supervised owner and are discarded when start fails or the session reaches a terminal state.
Summary
Functions
Binds a frozen start request to one exact governed local launch.
Returns the digest required in StartRequest.command_digest.
Returns the stable tag used for incremental CLI gateway events.
Returns the placement mode implemented by this gateway.
Returns the stable tag used for terminal CLI gateway status.
Types
@type bind_error() :: CliSubprocessCore.RuntimeGateway.Error.t()
Functions
@spec bind_start( CliSubprocessCore.RuntimeGateway.StartRequest.t(), keyword() ) :: :ok | {:error, bind_error()}
Binds a frozen start request to one exact governed local launch.
Only the binding process may consume the binding. A binding disappears when its owner exits, when start is attempted, or when validation fails. The command digest covers the exact governed executable, workspace, isolated environment, and clear-environment posture.
@spec command_digest(CliSubprocessCore.GovernedAuthority.t()) :: String.t()
Returns the digest required in StartRequest.command_digest.
@spec event_message_tag() :: :cli_subprocess_core_runtime_gateway_event
Returns the stable tag used for incremental CLI gateway events.
@spec execution_mode() :: :local
Returns the placement mode implemented by this gateway.
Local sessions enter the supervised process transport directly and are not Runtime Client-admitted executions.
@spec terminal_message_tag() :: :cli_subprocess_core_runtime_gateway_terminal
Returns the stable tag used for terminal CLI gateway status.