Skip to content

feat: Mark evaluation events as override-affected - #366

Draft
kinyoklion wants to merge 1 commit into
rlamb/overrides-dotnet-events-internalfrom
rlamb/overrides-dotnet-events
Draft

kinyoklion wants to merge 1 commit into
rlamb/overrides-dotnet-events-internalfrom
rlamb/overrides-dotnet-events

Conversation

@kinyoklion

Copy link
Copy Markdown
Member

Summary

Makes the server SDK hand the override-affected marking to the event processor, as defined by the OVERRIDE specification. EventProcessorTypes.EvaluationEvent gains an OverrideAffected property, EventFactory sets it from the evaluation result for every evaluation event and every prerequisite record, and DefaultEventProcessorWrapper passes 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.

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

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant