Commit 4cd2612
feat: extract flagd evaluator into api, core, and testkit packages
Split the flagd evaluation logic from the provider into three
independent packages under tools/, mirroring the Java SDK contrib
architecture (PRs #1696 and #1742):
- openfeature-flagd-api: Evaluator Protocol defining the contract
for flag evaluation implementations
- openfeature-flagd-core: Reference implementation with FlagdCore
class, targeting engine, and custom operators (fractional, sem_ver,
starts_with, ends_with)
- openfeature-flagd-api-testkit: Compliance test suite bundling
gherkin feature files from the test-harness evaluator directory
The provider's InProcessResolver now delegates to FlagdCore via an
adapter pattern, keeping connector code (FileWatcher, GrpcWatcher)
unchanged. Old provider modules (flags.py, targeting.py, custom_ops.py)
are thin re-exports from the core package for backward compatibility.
Also updates the test-harness submodule from v2.11.1 to v3.5.0.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>1 parent 564eb68 commit 4cd2612
68 files changed
Lines changed: 5263 additions & 1310 deletions
File tree
- providers/openfeature-provider-flagd
- flags
- openfeature
- src/openfeature/contrib/provider/flagd/resolvers
- process
- tests
- tools
- openfeature-flagd-api-testkit
- src
- openfeature/contrib/tools/flagd/testkit
- features
- flag_data
- steps
- scripts
- tests
- openfeature-flagd-api
- src
- openfeature/contrib/tools/flagd/api
- scripts
- tests
- openfeature-flagd-core
- src
- openfeature/contrib/tools/flagd/core
- model
- targeting
- scripts
- tests
- e2e
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
9 | 12 | | |
0 commit comments