The prompt_runner control commands.
Written entirely against PromptRunner.Control. Nothing here reaches into
the runner, the plan, or the control directory directly. That is the point:
the CLI is one consumer of the control plane, not its owner, and if these
commands needed anything the module above does not expose then the boundary
would already have failed.
Summary
Functions
@spec amend(String.t() | PromptRunner.Plan.t(), String.t(), keyword()) :: :ok | {:error, term()}
@spec contract(String.t() | PromptRunner.Plan.t(), String.t(), keyword()) :: :ok | {:error, term()}
@spec log( PromptRunner.Control.Store.root(), keyword() ) :: :ok | {:error, term()}
@spec relax(String.t() | PromptRunner.Plan.t(), String.t(), keyword()) :: :ok | {:error, term()}
@spec status( PromptRunner.Control.Store.root(), keyword() ) :: :ok | {:error, term()}
@spec steer(PromptRunner.Control.Store.root(), [String.t()], keyword()) :: :ok | {:error, term()}
@spec view( PromptRunner.Control.Store.root(), keyword() ) :: :ok | {:error, term()}
@spec watch( PromptRunner.Control.Store.root(), keyword() ) :: :ok | {:error, term()}