Canonical BeamAgent policy profiles and deterministic evaluation.
Policy profiles provide reusable allow/deny decisions for approvals, commands, backend selection, routines, memory writes, compaction, and orchestration.
Profiles are stored documents with a default decision, ordered rules, and optional metadata. Evaluation is deterministic and deny-wins, so multiple domains can share the same policy vocabulary without introducing custom callback trees in each subsystem.
Summary
Types
@type decision() :: :allow | :deny
@type profile_rule() :: %{ :action => action() | :*, :decision => decision(), :match => match_spec(), optional(:reason) => binary() }
Functions
@spec clear() :: :ok
@spec ensure_tables() :: :ok
@spec list_profiles() :: {:ok, [profile()]}