PromptRunner.Verifier (PromptRunnerSDK v0.9.0)

Copy Markdown View Source

Deterministic prompt verification.

Summary

Types

report()

@type report() :: %{
  pass?: boolean(),
  items: [map()],
  failures: [map()],
  prompt_id: String.t() | nil
}

Functions

contract_items(contract)

@spec contract_items(map()) :: [map()]

contract_keys()

@spec contract_keys() :: [String.t()]

Returns the contract clauses the verifier evaluates.

Anything else under verify: is parsed, stored, and never evaluated, which is what mix prompt_runner packet lint reads this list to detect.

verify(plan, opts \\ [])

@spec verify(
  PromptRunner.Plan.t(),
  keyword()
) :: {:ok, [report()]}

verify_prompt(plan, prompt, opts \\ [])

@spec verify_prompt(PromptRunner.Plan.t(), map(), keyword()) :: report()