# Rule Schema Each rule in `doctrine/rules/` uses the following fields: - `id`: stable identifier (string) - `title`: human-readable label - `pillar`: top-level grouping (e.g., Safety, Privacy, Governance) - `category`: sub-area (e.g., Crisis, Fraud, Deepfakes) - `severity`: `info`, `warn`, or `block` - `priority`: integer ordering (lower runs first) - `version`: semantic version string for lifecycle tracking - `triggers`: list of keywords/patterns used by the simple matcher - `conditions`: optional context flags to scope the rule - `action`: `allow`, `warn`, or `block` - `explain`: short rationale shown in decisions - `remediation`: optional safer alternative or next step Rules are sorted by `(priority, id)` to keep deterministic outcomes. Bundle versions are declared in each YAML to allow migrations and changelogs.