structuralRules top-level constant
The set of Rules dialect check runs.
Structural rules live here; M8 semantic rules will be added to
semanticRules in lib/checks/semantic/. The runner walks both
lists indistinguishably — the split is for readability, not behavior.
Implementation
const List<Rule> structuralRules = [
// First: if the binary is too old to be trusted with this project, that
// outranks anything it might report about the content.
ToolchainVersionRule(),
KeyFormatRule(),
NamespaceRequiredRule(),
MissingKeysRule(),
PlaceholderMatchRule(),
PluralCategoriesRule(),
TagBalanceRule(),
EmptyValuesRule(),
OrphanMetadataRule(),
LockIntegrityRule(),
// Last of the structural set: it reports on the generated outputs rather
// than on the canonical files, and it answers "can sync run?" rather than
// "is this content correct?".
OutputDriftRule(),
];