Hey @strong-mouse-55694 thanks for the reply. Yes, we're intending to cache the reply locally so that we make fewer calls. So we're trying to implement cache invalidation on top of sticky bucketing. I know growthbook uses deterministic hashing of attributes so that the same call should always get the same response. Is that hash limited to the attributes that are relevant to that specific experiment? We may be passing in a number of attributes all the time, but a specific experiment may refer to any subset of those.
If an irrelevant attribute changes, or an attribute changes in an irrelevant way, will an API call return the same response or will the response change (will the hash change)? For example if the targeting is ("shoe_size" <=7), and the shoe size goes from 7 to 6.5, the hash would presumably change and the assignment would change. We really only want to know if they pass the targeting restriction, and if so, we don't want to move them. They're still in the target group. We'd like the ability to get a pass/fail on targeting without changing the response.
We considered that we could call the API and potentially know that they were included in the experiment or not, and that would tell us what we needed to know. But if the experiment is set up to only include 50% of traffic, I don't know if we can reliably tell that they passed the targeting filter or not. They may be excluded because they are now in the other 50% of traffic.