feat(core): pass bound domain to provider init and enforce domain-scoped binding#298
feat(core): pass bound domain to provider init and enforce domain-scoped binding#298jonathannorris wants to merge 3 commits into
Conversation
…ped binding Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #298 +/- ##
==========================================
+ Coverage 99.50% 99.52% +0.02%
==========================================
Files 31 31
Lines 808 851 +43
==========================================
+ Hits 804 847 +43
Misses 4 4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
Summary
domain:keyword to providerinitand pass the bound domain from the provider mutator (spec 1.1.2.2, 2.4.1)domain_scoped?provider declaration and reject binding a domain-scoped instance to more than one domain (spec 2.4.3, 1.1.8.1)initbackward compatibilityMotivation
Unblocks OFREP static-context providers that need the bound
domainat init time to scope persisted cache keys per open-feature/spec#393 and protocol ADR 0009.Parallel implementations: js-sdk#1433, java-sdk#1982, python-sdk#616.
Notes
domain:is an optional keyword oninitinitruns once)init(evaluation_context)remain compatible; the registry inspects theinitsignature on the class and omitsdomain:when it is not acceptedTest plan
bundle exec rspec(431 examples)bundle exec steep checkbundle exec standardrb