Skip to content

Commit 4cd2612

Browse files
aepfliclaude
andcommitted
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

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitmodules

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
url = https://github.com/open-feature/spec
77
[submodule "providers/openfeature-provider-flagd/openfeature/test-harness"]
88
path = providers/openfeature-provider-flagd/openfeature/test-harness
9-
url = https://github.com/open-feature/flagd-testbed.git
9+
url = https://github.com/open-feature/flagd-testbed.git
10+
branch = v3.5.0

.release-please-manifest.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@
55
"providers/openfeature-provider-ofrep": "0.2.0",
66
"providers/openfeature-provider-flipt": "0.1.3",
77
"providers/openfeature-provider-env-var": "0.1.1",
8-
"providers/openfeature-provider-unleash": "0.1.2"
8+
"providers/openfeature-provider-unleash": "0.1.2",
9+
"tools/openfeature-flagd-api": "0.1.0",
10+
"tools/openfeature-flagd-core": "0.1.0",
11+
"tools/openfeature-flagd-api-testkit": "0.1.0"
912
}

0 commit comments

Comments
 (0)