PtcRunner.Kernel.CommandPreparation (PtcRunner v0.14.0)

Copy Markdown View Source

Sealed continuation state for a prepared validate or run command.

The command engine consumes application, host, input, and override paths before constructing this value. It retains the generated command reference, the inert installation catalog and sealed path-free runtime services needed by later assembly, and only the artifact destinations that phase 6 must preflight. If the invocation directory was unavailable, it retains the ordered destination keys that could not be anchored so phase 6 can apply its fixed trace/inspection/result precedence. The path-free PreparedRun remains separately sealed inside it.

Summary

Functions

Idempotently releases the embedded prepared run and inert catalog.

Types

t()

@type t() :: %PtcRunner.Kernel.CommandPreparation{
  artifact_destination_failures: [atom()],
  artifact_destinations: %{optional(atom()) => binary()},
  attestation: binary() | nil,
  catalog: PtcRunner.Kernel.InstallationCatalog.t(),
  command: :validate | :run,
  environment_setup_required: boolean(),
  prepared_run: PtcRunner.Kernel.PreparedRun.t(),
  project_artifact_root: binary() | nil,
  run_ref: binary(),
  runtime_services: PtcRunner.Kernel.ProviderRuntimeServices.t()
}

Functions

close(arg1)

@spec close(t()) :: :ok | {:error, :not_owner | :provider_activity_unavailable}

Idempotently releases the embedded prepared run and inert catalog.

Returns {:error, :not_owner} when the prepared run has been transferred to another live process, or {:error, :provider_activity_unavailable} when its bounded close cannot complete. The inert catalog is still released.

valid?(preparation)

@spec valid?(term()) :: boolean()