-
Notifications
You must be signed in to change notification settings - Fork 223
Update feature flag gating for extension templates #6758
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success3657 tests passing in 1428 suites. Report generated by 🧪jest coverage report action from 2b1c630 |
d9c7461 to
2a975f5
Compare
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
2a975f5 to
2b1c630
Compare
kbav
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tophat ✅
Using the 2d5e9acc flag mentioned in this PR description (for the sake of testing), I saw my new template successfully show up.
And using a fake flag, I see the template not show up, as desired:
Questions 🤔
At first I missed your "NOTE That Business Platform doesn't dynamically retrieve ExP flags" note — created a PR to add our flag here — and that was a little surprising.
Dumb question. Would we see a future where organizations stops doing manual flag seeding and instead performs the flags query against ExP?
Code review (Not yet started)
I haven't gotten to code review, but I'm not experienced with the CLI yet also, and am happy to defer to App Inner Loop reviewers



WHY are these changes introduced?
The current implementation uses
hasFeatureFlagwhich does not delegate to Experiments Platform -- it only uses Business Platform-native feature flags, which are deprecated. Per this Slack discussion, theenabledFlagsAPI does delegate to Verdict and should be used for new feature flags.However, we need to maintain backward compatibility with existing beta flags while enabling new templates to use Verdict-delegated flags. More on the reasoning for that here.
WHAT is this pull request doing?
This PR implements a dual flag strategy that allows gradual migration from legacy beta flags to modern exp flags:
Dual Flag System
organizationBetaFlags(Legacy) → UseshasFeatureFlagwithout Verdict delegationorganizationExpFlags(Modern) → UsesenabledFlagswith Verdict delegationNOTE That Business Platform doesn't dynamically retrieve ExP flags, so you'll still need to submit a PR to
organizationsflag seeds to track Verdict flags there.Templates can now specify either or both flag types:
Benefits:
How to test your changes?
Test with a custom templates.json file
I used this flag which is already rolled out to test. You want to use the short flag hash in
templates.json.You should see whichever template you've enabled by the flag show up!
Measuring impact
How do we know this change was effective? Please choose one:
Checklist