Skip to content

Conversation

@jaeopt
Copy link
Contributor

@jaeopt jaeopt commented Feb 9, 2026

Summary

Excludes CMAB experiments from UserProfileService (UPS) logic to prevent sticky bucketing that contradicts CMAB's dynamic decision-making nature.

Jira Ticket: FSSDK-12262

Changes

  • Modified decision_service.py to exclude CMAB experiments from UPS lookup and save operations
  • Added decision reasons when UPS is skipped for CMAB experiments
  • Ensures CMAB experiments receive fresh decisions on each evaluation

Rationale

UPS maintains decisions across the experiment lifetime without considering TTL or user attributes, which contradicts CMAB's dynamic nature. CMAB experiments require fresh decisions each time to properly evaluate contextual signals.

Testing

  • All existing tests pass
  • Added comprehensive test coverage for CMAB UPS exclusion
  • Implementation follows acceptance criteria:
    • ✅ Update SDK to exclude CMAB from UPS
    • ✅ Add UPS exclusion to decision reason

🤖 Generated with Claude Code

- Exclude CMAB experiments from UPS lookup and save operations
- Add decision reasons when UPS is skipped for CMAB
- UPS maintains decisions across experiment lifetime, which contradicts CMAB's dynamic nature

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@jaeopt jaeopt closed this Feb 9, 2026
@jaeopt jaeopt deleted the ai/jaeopt/FSSDK-12262-cmab-ups-3 branch February 9, 2026 23:44
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