Skip to content

ADR-0003: Config, not code, for client specificity

  • Status: Accepted
  • Date: 2026-07-25
  • Deciders: El

Context

Client and industry differences must not become code forks.

Decision

Differences are expressed as data (templates, client config, rules). A genuinely new capability is added to the shared vocabulary in code (all tenants benefit), then set as config. Never a per-client code path. Every request is gated by "can this be solved through config, templates, or workflows rather than custom code?"

Consequences

Repeatability; onboarding is configuration; a bespoke need becomes a reusable platform capability; requires the config-first gate on every request.

Alternatives considered

  • Per-client code paths — rejected: the fork the whole architecture exists to avoid.