Optional AI confirmation step for a rule. When present, the rule’s rule
AST pattern acts as a cheap pre-filter: matches become candidates that an
LLM must confirm before they are reported. The AST layer never executes
this field; the AI pipeline in slopguard-ai reads it.
Validate that all rule (id, language) pairs are unique. The same rule id
may appear for different languages (e.g. no-todo-fixme for both Rust and
TypeScript), so a single rules.disable entry covers both variants.