structuralRules top-level constant

List<Rule> const structuralRules

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(),
];