Skip to content

[AI-FSSDK] (DO NOT REVIEW) [FSSDK-12262] Exclude CMAB from UserProfileService#10

Closed
jaeopt wants to merge 1 commit intomasterfrom
ai/jaeopt/FSSDK-12262-cmab-ups-3
Closed

[AI-FSSDK] (DO NOT REVIEW) [FSSDK-12262] Exclude CMAB from UserProfileService#10
jaeopt wants to merge 1 commit intomasterfrom
ai/jaeopt/FSSDK-12262-cmab-ups-3

Conversation

@jaeopt
Copy link
Owner

@jaeopt jaeopt commented Feb 9, 2026

Summary

Exclude CMAB (Contextual Multi-Armed Bandit) experiments from User Profile Service (UPS) to ensure dynamic decision-making that respects TTL and user attributes.

Related Ticket

FSSDK-12262

Changes

  • Skip UPS lookup for CMAB experiments: Modified get_variation to check is_cmab_experiment before retrieving stored variations
  • Skip UPS save for CMAB experiments: Modified get_variation to check is_cmab_experiment before saving new decisions
  • Add decision reason: When UPS is skipped for CMAB, add message "User Profile Service is not used for CMAB experiments" to decision reasons
  • Add test coverage: New test verifies UPS is bypassed for CMAB (lookup and save)

Why This Change?

UPS maintains decisions across the experiment lifetime without considering TTL or user attributes, which contradicts CMAB's dynamic nature. CMAB experiments need to make fresh decisions on each call to respond to changing contexts.

Testing

  • ✅ Code changes follow Ruby SDK patterns and mirror Python SDK implementation
  • ✅ New test added to verify UPS exclusion for CMAB experiments
  • Note: Tests require Ruby 3.0+ to run (current local environment has Ruby 2.7.4)

Acceptance Criteria

  • ✅ Update SDK to exclude CMAB from UPS
  • ✅ Add UPS exclusion to decision reason

🤖 Generated with Claude Code

- Skip UPS lookup for CMAB experiments to ensure dynamic decisions
- Skip UPS save for CMAB experiments to prevent sticky bucketing
- Add decision reason explaining UPS exclusion for CMAB
- Add test to verify UPS is not used for CMAB experiments

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