Dials turns hardcoded constants into operator-adjustable values without giving up code review as the source of truth. Each dial is declared in code with a default, a type, JSON-Schema-style constraints, and optional dimensions (per market, per platform, ...); runtime overrides live in one small append-only table (state and attributed history are the same rows), resolve scoped override → global override → code default, are served from a per-process cache, and every write supports optional stale-write protection.
Required Ruby Version
>= 3.2
Authors
Keith Gould