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 (or the System One classifier) must confirm before they are reported.
The AST layer never executes this field; the AI pipeline in slopguard-ai
reads it.
One rewrite assertion for an autofixable rule: slopguard test applies the
rule’s rewrite to before and requires the result to equal after. This
is what proves a rewrite is correct, alongside should_match.
Read a whole-file test fixture referenced by tests.should_match_files or
tests.should_not_match_files. Builtin rules resolve against the embedded
ruleset; custom rules resolve against the directory they were loaded from.
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.