Skip to content

Conversation

junaed-optimizely
Copy link
Contributor

@junaed-optimizely junaed-optimizely commented Oct 8, 2025

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

Copy link

@Copilot Copilot AI left a 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.

Copy link

@muzahidul-opti muzahidul-opti left a 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

@muzahidul-opti muzahidul-opti changed the title Junaed/fssdk 11168 cmab service [FSSDK-11168] feat: add cmab service Oct 10, 2025
Copy link

@muzahidul-opti muzahidul-opti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@junaed-optimizely junaed-optimizely merged commit 375e6a2 into master Oct 10, 2025
12 checks passed
@junaed-optimizely junaed-optimizely deleted the junaed/fssdk-11168-cmab-service branch October 10, 2025 15:14
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.

2 participants