Skip to content

Remove backend predicate results from audience evaluation - #4174

Merged
tonidero merged 1 commit into
toni/subscriber-dimensionsfrom
toni/remove-backend-predicate-results
Sep 4, 2026
Merged

Remove backend predicate results from audience evaluation#4174
tonidero merged 1 commit into
toni/subscriber-dimensionsfrom
toni/remove-backend-predicate-results

Conversation

@tonidero

@tonidero tonidero commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Motivation

The backend is dropping the backend_predicate_results item from the audiences remote-config topic, so the SDK no longer needs to read it or expose it to rule evaluation.


Note

Medium Risk
Changes how checkpoint and audience rules resolve when predicates still reference backend.* (those reads are no longer supplied), which can shift match outcomes until dashboard rules are updated.

Overview
Aligns the SDK with the backend removing the backend_predicate_results item from the audiences remote-config topic.

Audiences config no longer bundles pre-evaluated backend predicates with the audience blob: AudiencesSnapshot and getSnapshot() are gone in favor of getAudiences(), which only loads the default audiences blob under a consistent config generation.

Local rules evaluation drops the reserved backend.* dimension scope—LocalRulesEvaluator and RulesDimensionResolver no longer accept backendValues, and checkpoint audience matching passes only custom variables plus audience predicates. Subscriber dimensions from the customer response remain as root-level names (unchanged).

Tests that covered backend predicate matching and metadata parsing were removed or updated to match the slimmer API.

Reviewed by Cursor Bugbot for commit 3f7e624. Bugbot is set up for automated code reviews on this repo. Configure here.

@tonidero
tonidero force-pushed the toni/remove-backend-predicate-results branch from db19c9e to 4da5db6 Compare September 4, 2026 10:55
@tonidero
tonidero marked this pull request as ready for review September 4, 2026 11:38
@tonidero
tonidero requested a review from a team as a code owner September 4, 2026 11:38
The backend is dropping the backend_predicate_results item from the
audiences topic, so the client no longer reads it or exposes it to
rules. AudiencesConfigProvider returns the audience dictionary from the
default blob directly, LocalRulesEvaluator.match and
RulesDimensionResolver.snapshot lose their per-evaluation backendValues
parameter, and `backend` is no longer a reserved root. The recursive
dimension-name check stays, sourced from providers.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@tonidero
tonidero force-pushed the toni/remove-backend-predicate-results branch from 4da5db6 to 3f7e624 Compare September 4, 2026 11:57
@tonidero
tonidero added this pull request to the merge queue Sep 4, 2026
An error occurred while trying to automatically change base from toni/subscriber-dimensions to toni/customer-info-rules-properties September 4, 2026 12:35
Merged via the queue into main with commit bda6722 Sep 4, 2026
32 of 33 checks passed
@tonidero
tonidero deleted the toni/remove-backend-predicate-results branch September 4, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants