-
Notifications
You must be signed in to change notification settings - Fork 20
[FSSDK-11168] feat: add cmab service #393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new CMAB (Contextual Multi-Armed Bandit) service for the Optimizely SDK that handles decision-making and cache management. The implementation provides intelligent caching based on user attributes with cache invalidation options.
Key changes:
- Added ICmabService interface and DefaultCmabService implementation with attribute-based caching
- Extended OptimizelyDecideOption enum with three new CMAB cache control options
- Comprehensive test coverage for the new CMAB service functionality
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
OptimizelySDK.csproj | Added compilation entries for new CMAB service files |
OptimizelyDecideOption.cs | Added cache control options for CMAB decisions |
ICmabService.cs | Defined interface contract for CMAB decision services |
DefaultCmabService.cs | Implemented full CMAB service with caching and attribute filtering |
OptimizelySDK.Tests.csproj | Added test file compilation entry |
DefaultCmabServiceTest.cs | Comprehensive test suite covering all CMAB service functionality |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good to me, added a couple of commnets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Summary
CMAB service addition which is responsible for decision-making and cache management in the CMAB (Contextual Multi-Armed Bandit) feature.
Test Plan
Tests have been added to support the implementation
Issues
FSSDK-11168