PromptRunner.Workspace.Manifest (PromptRunnerSDK v0.12.0)

Copy Markdown View Source

Strict, versioned operator-workspace manifest.

Runtime repository paths are logical. They materialize beneath the current operator's data root and never point at a different operator's writable checkout.

Summary

Types

repository()

@type repository() :: %{
  name: String.t(),
  remote: String.t(),
  ref: String.t(),
  source: String.t() | nil
}

t()

@type t() :: %PromptRunner.Workspace.Manifest{
  commit_mode: String.t(),
  containment: String.t(),
  contract_artifacts: [map()],
  contract_modules: [String.t()],
  failure_policy: String.t(),
  id: String.t(),
  path: String.t(),
  prompt_runner_requirement: String.t() | nil,
  push_policy: String.t(),
  repositories: %{required(String.t()) => repository()},
  required_capabilities: [String.t()],
  runtime_root: String.t(),
  workspace_root: String.t()
}

Functions

load(path)

@spec load(String.t()) :: {:ok, t()} | {:error, term()}