Skip to content

feat: Update ChangeSet to always require a Selector#405

Merged
jsonbailey merged 9 commits intomainfrom
jb/sdk-1748/always-require-selector
Feb 4, 2026
Merged

feat: Update ChangeSet to always require a Selector#405
jsonbailey merged 9 commits intomainfrom
jb/sdk-1748/always-require-selector

Conversation

@jsonbailey
Copy link
Contributor

@jsonbailey jsonbailey commented Feb 3, 2026

Note

Medium Risk
This is a type/contract change that affects how FDv2 updates are applied and when data is considered ready/persistable; downstream code assuming selector can be None may break or change behavior.

Overview
ChangeSet now always carries a Selector (non-optional). This removes None handling throughout the FDv2 path and standardizes on Selector.no_selector() for “no selector” cases.

Initializer/store logic is simplified accordingly: persistence and readiness gating now use change_set.selector.is_defined() directly (no selector is not None checks), and Store._set_basis/_apply_delta signatures are tightened to require a Selector. Tests are updated to reflect the new invariant (selectors are always present; assertions now check is_defined() instead of is not None).

Written by Cursor Bugbot for commit 57f5d00. This will update automatically on new commits. Configure here.

@jsonbailey jsonbailey requested a review from a team as a code owner February 3, 2026 22:27
Base automatically changed from jb/sdk-1748/minor-changes to main February 4, 2026 16:26
@jsonbailey jsonbailey merged commit 5dc4f81 into main Feb 4, 2026
15 checks passed
@jsonbailey jsonbailey deleted the jb/sdk-1748/always-require-selector branch February 4, 2026 17:04
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.

2 participants