Aludel.RedTeam.Catalog (aludel v0.7.0)

Copy Markdown View Source

Stable, versioned adversarial cases used by Aludel.RedTeam.

Catalog templates are data. They are never executed by Aludel itself.

Summary

Functions

Returns every case in stable catalog order.

Returns the supported risk categories in alphabetical order.

Fetches a catalog case by its stable ID.

Fetches a catalog case by its stable ID, raising KeyError when absent.

Returns the stable catalog name used in provenance metadata.

Returns the catalog version used in provenance metadata.

Types

category()

@type category() ::
  :excessive_agency
  | :misinformation
  | :prompt_injection
  | :sensitive_information_disclosure
  | :system_prompt_leakage
  | :unsafe_assistance

severity()

@type severity() :: :high | :critical

technique()

@type technique() :: :direct | :indirect

template()

@type template() :: %{
  id: String.t(),
  name: String.t(),
  category: category(),
  severity: severity(),
  technique: technique(),
  version: pos_integer(),
  risk_reference: String.t(),
  judge_template: String.t(),
  canary: String.t(),
  prompt: String.t(),
  checksum: String.t(),
  assertions: [map()]
}

Functions

all()

@spec all() :: [template()]

Returns every case in stable catalog order.

categories()

@spec categories() :: [category()]

Returns the supported risk categories in alphabetical order.

fetch(id)

@spec fetch(String.t()) :: {:ok, template()} | :error

Fetches a catalog case by its stable ID.

fetch!(id)

@spec fetch!(String.t()) :: template()

Fetches a catalog case by its stable ID, raising KeyError when absent.

name()

@spec name() :: String.t()

Returns the stable catalog name used in provenance metadata.

version()

@spec version() :: pos_integer()

Returns the catalog version used in provenance metadata.