Organizations release process (1/2): Organizations::Release layer

What does this MR do?

Adds the Organizations::Release layer — the abstraction between feature code and the feature flag library.

An organization flag sits at one release stage; the stage decides which of a small fixed set of shared ops flags gates it. Feature code calls:

Organizations::Release.enabled?(:my_flag, actor)

Includes:

  • Seven shared stage flags: org_stage_experimental, org_stage_beta, org_stage_la_25/50/75/100, and org_stage_ga (default_enabled: true).
  • Organizations::Release, Stage, Flag, Registry (lib/organizations/release/).
  • The flag registry config/organizations_release.yml (each organization flag declares a stage). It ships empty — flags are added as features adopt the layer, so the generated status doc never publishes a rollout state no code honors.
  • Specs for the layer and registry.

The caller passes the feature flag actor straight through to the backing stage flag, exactly like a direct Feature.enabled? check. Declaring and enforcing a per-flag actor type is a stacked follow-up (!240575 (closed)), not part of this MR.

Status

Nothing is wired to enabled? yet, and the registry ships empty.

Edited by Alex Pooley

Merge request reports

Loading