Layer rules that finally matched the folders

A layered architecture documented in a diagram from 2019 and enforced by nothing, with 88 violations by the time anybody checked.

layers:
  - name: Domain
    collectors: [{ type: directory, value: src/Domain/.* }]
  - name: Application
    collectors: [{ type: directory, value: src/Application/.* }]
  - name: Infrastructure
    collectors: [{ type: directory, value: src/Infrastructure/.* }]

ruleset:
  Domain: ~                     # depends on nothing
  Application: [Domain]
  Infrastructure: [Domain, Application]

The baseline is what makes this adoptable: 88 violations recorded, the build failing only on new ones, and a number that goes down. Domain depending on nothing is the rule that caught the most — an entity importing a framework attribute, twelve times — and fixing those was mostly moving the mapping into the infrastructure layer where it belonged anyway.