Skip to content

Conversation

@jsonbailey
Copy link
Contributor

@jsonbailey jsonbailey commented Nov 25, 2025

Note

Introduce DataSystem contract interfaces and related types (availability, diagnostics, result, initializer, synchronizer, update) for the SDK.

  • Data System Contracts (lib/ldclient-rb/impl/datasystem.rb):
    • Interfaces:
      • DataSystem mixin with start/stop, status providers, flag_tracker, availability accessors, store, and set_flag_value_eval_fn.
      • Initializer with fetch.
      • Synchronizer with sync yielding Update.
    • Types:
      • DataAvailability with DEFAULTS, CACHED, REFRESHED, and .at_least?.
      • Result with success/failure helpers.
      • Update encapsulating state, change set, error, revert flag, and environment ID.
    • Diagnostics:
      • DiagnosticAccumulator (record stream init, events in batch, create/reset event).
      • DiagnosticSource to inject a diagnostic accumulator.

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

@jsonbailey jsonbailey requested a review from a team as a code owner November 25, 2025 16:55
@jsonbailey jsonbailey changed the base branch from main to fdv2 November 25, 2025 16:56
@jsonbailey jsonbailey requested a review from keelerm84 November 25, 2025 17:50
@jsonbailey jsonbailey changed the title feat: Add datasystem contract definition chore: Add DataSystem contract definition Nov 25, 2025
@jsonbailey jsonbailey changed the base branch from fdv2 to main November 25, 2025 17:50
@jsonbailey jsonbailey merged commit 5b82f54 into main Nov 25, 2025
6 checks passed
@jsonbailey jsonbailey deleted the jb/sdk-1540/create-datasystem-protocols branch November 25, 2025 18:37
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