Skip to content

Eliminate redundant default Lint.swift files fleet-wide #536

Description

@coenttb

Outcome

Eliminate redundant “basic/default bundle” Lint.swift files structurally across the Swift Institute fleet and mechanically prevent their reintroduction.

Acceptance

  1. Run a positive-controlled census of every tracked root and nested Lint.swift across primitives, standards, and foundations. Record exact blobs plus the effective rule composition each file selects.
  2. Partition the population into:
    • semantically identical to the centrally selected layer/default bundle;
    • package-specific composition with a proved owning requirement;
    • malformed, stale, or ambiguous.
  3. Remove every file in the first class as one bounded fleet convergence wave. Do not create per-package handwritten replacements.
  4. Ensure CI and local tooling select the correct central layer bundle when Lint.swift is absent; prove absence does not weaken or disable lint.
  5. Add a mechanical rule with positive, negative, edge, and near-miss fixtures that rejects a package-local Lint.swift whose effective composition merely reproduces the central default.
  6. Require every remaining package-specific file to have a finite semantic disposition/owner; no open-ended path exception or arbitrary local configuration is admitted.
  7. Run final fleet census proving zero redundant-basic files and unchanged-or-stronger effective diagnostics.

swift-foundations/swift-async#13 is one measured child row, not the scope boundary.

Refs package-reduction programme #527 and lint convergence Goal #90.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions