Feature Flag Integration for Terminology System Rollout Control
During incremental rollout — a requirement shared by all partner organizations — the dynamic terminology system must support a feature flag guard that controls whether an organization's app instances use the dynamic terminology pipeline or fall back to static built-in labels. The FeatureFlagProvider and RolloutEvaluator assess whether the terminology feature is enabled for the current tenant, and the TerminologyAwareTextWidget degrades gracefully to static strings when the feature is off. This allows Norse Digital Products to enable the feature per organization without a code deployment.
User Story
Acceptance Criteria
- Given the terminology feature flag is disabled for my organization, When peer mentors use the app, Then all labels fall back to the default static strings without any errors
- Given the terminology feature flag is enabled for my organization, When peer mentors use the app, Then all labels are resolved dynamically through the terminology pipeline
- Given the feature flag state changes on the backend, When the app next fetches flag configuration, Then the terminology system enables or disables without requiring an app restart
- Given I am an administrator viewing the feature flag admin screen, When I inspect the terminology flag, Then I can see whether it is enabled for my organization and its current rollout percentage
- Given the rollout evaluator determines the feature is partially enabled (e.g., 50% rollout), When two peer mentors from the same organization open the app, Then a consistent assignment is maintained per user so their experience does not change between sessions
Business Value
All partner organizations explicitly require parallel system operation during transition — 'do not shut the old one down before people are ready.' Feature flag control of the terminology system enables Norse Digital Products to activate customized labels for one organization at a time, validate the experience, and iterate based on feedback before broad deployment, directly supporting the phased rollout strategy agreed upon in the workshops.
Components
- FeatureGate Widget ui
- Feature Flag Admin Screen ui
- Feature Flag Provider infrastructure
- Rollout Condition Evaluator service
- Feature Flag Repository data
- Feature Flag Local Cache data
- Feature Flag Key Constants infrastructure
- Feature Flag Initializer infrastructure
- Feature Flag Provider infrastructure
- Terminology-Aware Text Widget ui