feat: Mark evaluation events as override-affected - #366
Draft
kinyoklion wants to merge 1 commit into
Draft
kinyoklion wants to merge 1 commit into
kinyoklion wants to merge 1 commit into
Conversation
EventProcessorTypes.EvaluationEvent gains an OverrideAffected property. The event factory sets it from the evaluation result for every evaluation event and prerequisite record, whether or not the caller asked for reasons, and the event processor wrapper passes it through, so a marked evaluation produces no individual feature or debug event and is counted under a separate summary counter. A wrong-type result keeps the marking on its reason and its event. The OVERRIDE specification's test vectors now also assert the per-evaluation summary contribution.
This branch has not been deployed
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.
Summary
Makes the server SDK hand the override-affected marking to the event processor, as defined by the OVERRIDE specification.
EventProcessorTypes.EvaluationEventgains anOverrideAffectedproperty,EventFactorysets it from the evaluation result for every evaluation event and every prerequisite record, andDefaultEventProcessorWrapperpasses it to the InternalSdk event processor, which then suppresses individual feature and debug events for the marked evaluation and counts it under a separate summary counter that carries the marker. The marking is carried whether or not the caller asked for reasons.A wrong-type result keeps the marking: the replacement error reason and the event for that evaluation both report it, because the evaluation read the same definitions. The specification's test vectors now also assert the per-evaluation summary contribution, and new client tests cover the marked evaluation record, the prerequisite tree in which only one leaf is overridden, and the event output of a full flush, in which only the unaffected sibling prerequisite produces a feature event while all four flags have tracking on.
This PR is based on the branch of the InternalSdk events change, which it depends on.