Skip to content

Conversation

@jaeopt
Copy link
Owner

@jaeopt jaeopt commented Feb 2, 2026

Summary

CMAB experiments are now excluded from UserProfileService to prevent incorrect sticky bucketing. CMAB requires dynamic decisions based on TTL and user attributes, which conflicts with UPS's persistent decision storage.

Changes

  • Modified decision_service.py to check experiment.cmab before calling update_user_profile
  • Added comprehensive unit tests validating CMAB exclusion logic
  • Non-CMAB experiments continue to update user profiles (no regression)

Jira Ticket

FSSDK-12262

Testing

Verified with unit tests. All 52 tests pass.

- Modified decision_service.py to exclude CMAB experiments from UPS updates
- CMAB experiments require dynamic decisions based on TTL and user attributes
- UPS sticky bucketing would freeze decisions, breaking CMAB functionality
- Added comprehensive unit tests to verify exclusion logic
- All 52 tests pass with no regressions

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@jaeopt jaeopt closed this Feb 3, 2026
@jaeopt jaeopt deleted the ai/jaeopt/fssdk-12262-cmab-ups branch February 3, 2026 00:42
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