Repository navigation
Conversation
…port Register the dependent-flag capability only when the native Remote Config enum and evaluator support are both available. Keep existing libraries on the rules-only capability. Environment: Datadog workspace Co-Authored-By: Codex GPT-6 <noreply@localhost>
Codeowners resolved asResolved from the full PR diff against |
Dependency direction analysis
|
BenchmarksBenchmark execution time: 2026-11-02 14:34:18 Comparing candidate commit 12e0e8c in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 20 metrics, 0 unstable metrics.
|
…ndent-flags-python-rc
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
Dependent-flag capability registration requires both the native RC enum and explicit evaluator support, preserving rules-only registration with the current evaluator. Static review identified no actionable defects.
🤖 Bits Code Review · Commit 12e0e8c
|
FFE reviewer selectionReviewers: @typotter, @sameerank Why: Dependent Flags — The diff changes enable_featureflags_rc so it registers the FfeFlagDependentFlagVariantKeyV1 Remote Config capability only when two things are true: the native enum exists, and… Reviewers come from the matched pod. 🤖 Automated selection. Selection detailsInitiative: project / dependent-flags Why this match: The diff changes enable_featureflags_rc so it registers the FfeFlagDependentFlagVariantKeyV1 Remote Config capability only when two things are true: the native enum exists, and the linked evaluator reports DEPENDENT_FLAG_VARIANT_KEY_V1 support. This prepares the Python SDK to receive dependent-flag (prerequisite) configuration through the Agent, which is the Dependent Flags SDK fanout. The tests cover the registration matrix.
Additional review: openfeature-architecture — The change adds a tracer/native capability handshake. The shared Remote Config capability registration now depends on get_evaluator_capabilities() from the native evaluator, not just on whether the protocol enum exists. This changes the contract for how the tracer advertises evaluator-dependent capabilities. Coverage: @typotter. Evidence: ddtrace/internal/openfeature/_remoteconfiguration.py The PR author was excluded. Existing reviewers and teams were preserved. Debug or fix a problemWorkflow run · Bits Code session
Evidence and run details✅ Complete — reviewer coverage verified. The workflow checked pending requests or submitted reviews on the evaluated head. Generated asynchronously by the FFE reviewer-routing workflow. Changed paths: Evaluated head: Registry revision: Pinned skill source: Instructions: workflow-injected snapshot (no plugin loaded) Instruction snapshot SHA-256: |
Description
This PR is needed to support the agent-based path for dependent flags UFC delivery.
Register the dependent-flag Remote Config capability only when both the native RC enum and the linked evaluator report support for
dependent-flag-variant-key-v1. Existing libraries continue advertising only the rules capability; declaring the protocol enum alone does not enable dependent-flag delivery.This draft stacks on #21335 for the shared evaluator capability reporter. The current evaluator reports no dependent-flag support, so this is preparatory wiring: activation requires the evaluator's complete evaluation/exposure semantics and a libdatadog release containing DataDog/libdatadog#2745.
Testing
scripts/lint checkspassed.scripts/run-tests --venv 616dbb5f2c38 -- -q -k test_remoteconfig: all 26 OpenFeature Remote Config tests passed (Python 3.11), including the seven new cases.Risks
The registration is deliberately inactive with the currently pinned native library. A future evaluator upgrade must establish dependent-flag evaluation and exposure behavior before returning the capability token.
Additional Notes
No release note: this is internal, inactive opt-in wiring with no change to the capabilities advertised by a released library.