Rule Schema
Each rule in doctrine/rules/ uses the following fields:
id: stable identifier (string)title: human-readable labelpillar: top-level grouping (e.g., Safety, Privacy, Governance)category: sub-area (e.g., Crisis, Fraud, Deepfakes)severity:info,warn, orblockpriority: integer ordering (lower runs first)version: semantic version string for lifecycle trackingtriggers: list of keywords/patterns used by the simple matcherconditions: optional context flags to scope the ruleaction:allow,warn, orblockexplain: short rationale shown in decisionsremediation: 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.