Skip to main content

ADR 0003: Explicit composition precedence

Status: accepted

Context​

Last-writer-wins makes results depend on file and list order and hides disagreements between teams.

Decision​

Profiles declare a layer: foundation < organization < role < workstation.

  • Sets union.
  • Keyed definitions must be identical.
  • Scalar settings take the highest layer and conflict when one layer disagrees with itself.

Order never matters. Composed values keep their provenance, and conflicts name every contributor.

Consequences​

Organizations override DeskOS Core deliberately. Two teams at one layer must settle their disagreement explicitly instead of racing on file names. Removal exists only where a later ADR names it: Platform.removePackages (ADR 0022) and flatpak.removeRemotes (ADR 0017). There is no general subtraction.