pub struct RuleMeta {
pub id: String,
pub revision: u64,
pub rfc: String,
pub level: RuleLevel,
pub status: RuleStatus,
pub statement: String,
pub domains: Vec<String>,
pub stages: Vec<RuleStage>,
pub when_paths: Vec<String>,
pub task_classes: Vec<String>,
pub checker: Option<Checker>,
pub waivable: bool,
}Expand description
One rule’s normalized metadata (a rules/*.md frontmatter).
Fields§
§id: String§revision: u64Positive, monotonic per id (D-C): a semantic change without an increment is a transition-lint refusal.
rfc: StringParent RFC id — validated to exist (no orphan rules).
level: RuleLevel§status: RuleStatus§statement: StringThe one-line normative statement — the canonical machine/human text.
domains: Vec<String>Browsing/reporting labels (D-D: never an LLM-selected policy switch). Sorted and deduplicated.
stages: Vec<RuleStage>The stages the rule applies to (sorted by name). Never empty.
when_paths: Vec<String>Repo-relative path prefixes (normalized); empty means unscoped.
task_classes: Vec<String>Mission task classes (free-form, matched by config/routing normalization); empty means unscoped.
checker: Option<Checker>The typed checker binding. Draft rules may omit it (D-F); promotion to an approved/enforced EFFECTIVE status requires it (fail-closed).
waivable: boolWaiver posture (D-I): false when omitted — fail-closed.