Skip to content

Conversation

@zhukaihan
Copy link
Collaborator

Summary

Adding exposure service, deprecating assignment service, and adding tracksExposure to evaluate options.

Checklist

  • Does your PR title have the correct title format?
  • Does your PR have a breaking change?: no

@zhukaihan zhukaihan requested review from a team and Copilot November 13, 2025 22:30
Copilot finished reviewing on behalf of zhukaihan November 13, 2025 22:35
Copy link

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 adds a new exposure service to track experiment exposures, deprecates the existing assignment service, and introduces a TracksExposure option for evaluations. The exposure service provides similar functionality to the assignment service but with updated naming and improved design patterns.

Key Changes

  • Introduced new ExposureService with filtering and tracking capabilities for experiment exposures
  • Added TracksExposure option to EvaluateOptions for explicit exposure tracking control
  • Deprecated AssignmentService, AssignmentConfig, and related types in favor of the new exposure service

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
exposure.go Defines the exposure struct and canonicalization logic for deduplication
exposure_filter.go Implements LRU cache-based filtering to prevent duplicate exposure tracking
exposure_service.go Core exposure tracking service that converts exposures to Amplitude events
exposure_filter_test.go Comprehensive test suite for exposure filter functionality
exposure_service_test.go Tests for exposure event generation and tracking logic
config.go Adds ExposureConfig and deprecates AssignmentConfig
evaluate_options.go Introduces TracksExposure option for evaluation control
client.go Integrates exposure service into client initialization and evaluation flow
client_test.go Adds integration test for exposure tracking
assignment.go Adds deprecation documentation
assignment_filter.go Adds deprecation documentation
assignment_service.go Adds deprecation documentation and comments
assignment_filter_test.go Updates import formatting

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@promptless
Copy link

promptless bot commented Nov 13, 2025

📝 Documentation updates detected!

New suggestion: Document exposure tracking for Go Experiment SDK local evaluation

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.

3 participants