An immutable, normalized playbook entry with a stable identity and hash chain.
Summary
Functions
Builds an entry, raising when its content violates the policy.
Normalizes content for exact deduplication and canonical storage.
Types
@type status() :: :active | :inactive
@type t() :: %Imp.Playbook.Entry{ content: String.t(), harmful: non_neg_integer(), hash: String.t(), helpful: non_neg_integer(), id: String.t(), parent_hash: String.t() | nil, provenance: Imp.Playbook.Provenance.t(), revision: pos_integer(), section: String.t(), status: status() }