feat(flags): evaluate dynamic offline rules (FFL-2837 PR2) - #1347
Draft
btthomas wants to merge 6 commits into
Draft
feat(flags): evaluate dynamic offline rules (FFL-2837 PR2)#1347btthomas wants to merge 6 commits into
btthomas wants to merge 6 commits into
Conversation
This was referenced Jul 24, 2026
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR1
branch
from
July 27, 2026 19:53
bb7ad12 to
d8dd76f
Compare
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR2
branch
from
July 27, 2026 20:13
cb5597d to
932c87b
Compare
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR1
branch
from
July 28, 2026 18:55
df96e05 to
a50f71d
Compare
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR2
branch
from
July 28, 2026 19:47
932c87b to
a725eb5
Compare
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR1
branch
from
July 29, 2026 14:27
a50f71d to
31cc62b
Compare
btthomas
force-pushed
the
blake.thomas/FFL-2837-PR2
branch
from
July 29, 2026 14:27
a725eb5 to
45a8242
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request stack
This description uses Simplified Technical English. Technical names and API names do not change.
Summary
This PR adds dynamic and mixed offline evaluation to
FlagsClient.FlagDetails.TrackableAssignment.Reason
A mixed configuration can contain precomputed assignments for one context and rules for other contexts.
FlagsClientmust select the path when it resolves each flag. This check prevents the SDK from using a mismatched precomputed assignment.Result behavior
FLAG_NOT_FOUND.number.Tracking
A real rules assignment uses the existing native assignment bridge. The bridge reports the assignment through the same Datadog path as online and precomputed assignments.
doLogvalue does not stop the bridge call.doLogto the exposure event.extraLoggingobject because the current Android bridge requires it.Error, disabled, unmatched default, no-variant default, type-mismatch, and missing-flag results are not tracked.
Temporary upstream code
This PR adds one
TODO(FFL-2837)marker. It keeps the temporaryrulesBasedcompatibility shape until a published flagging-core release containsFlagsConfiguration.rules.responsefrom openfeature-js-client#344.PR1 contains the other upstream compatibility markers. The targeting-key policy and the deterministic fake are not temporary.
User impact
The existing offline client can evaluate rules after a context change. It does not fetch data. Matching precomputed data still has priority.
The provider does not pass its effective resolution context in this PR. PR3 adds that connection and the customer documentation.
Checks
yarn tsc --noEmit -p packages/core/tsconfig.json