Spectre.Governance.Approval.Policy (Spectre v0.3.0)

Copy Markdown View Source

Host-owned approval policy keyed by Candidate risk.

The default permits automatic approval only for low-risk Candidates. Medium, high, and critical changes require an explicit human approval receipt.

Summary

Functions

Checks whether an observed mode satisfies the configured policy.

Returns the conservative default policy.

Builds a complete risk policy.

Returns the minimum approval mode for a risk class.

Types

mode()

@type mode() :: :automatic | :human

t()

@type t() :: %Spectre.Governance.Approval.Policy{
  requirements: %{required(atom()) => mode()}
}

Functions

allows?(policy, risk, mode)

@spec allows?(t(), atom(), mode()) :: boolean()

Checks whether an observed mode satisfies the configured policy.

default()

@spec default() :: t()

Returns the conservative default policy.

new(policy)

@spec new(t() | map() | keyword()) :: {:ok, t()} | {:error, term()}

Builds a complete risk policy.

required_mode(policy, risk)

@spec required_mode(t(), atom()) :: {:ok, mode()} | {:error, term()}

Returns the minimum approval mode for a risk class.