Skip to content

feat: Add FDv2 source traits and result types - #187

Open
beekld wants to merge 3 commits into
bklimt/SDK-2691/fdv2-transactional-storefrom
bklimt/SDK-2700/fdv2-source-traits
Open

feat: Add FDv2 source traits and result types#187
beekld wants to merge 3 commits into
bklimt/SDK-2691/fdv2-transactional-storefrom
bklimt/SDK-2700/fdv2-source-traits

Conversation

@beekld

@beekld beekld commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Defines the interfaces the FDv2 data sources implement, ahead of the concrete polling and streaming sources. This adds:

  • Initializer and Synchronizer traits, whose methods return a boxed future so the traits stay object-safe.
  • The FDv2SourceResult enum returned by those methods, plus its accompanying event and error types.

Note

Overview
Introduces the FDv2 data-source contract that upcoming polling/streaming implementations will share.

Adds source under fdv2 with Initializer (run → boxed future) and Synchronizer (next(selector) → boxed future), both object-safe via BoxFuture. Each call yields an FDv2SourceEvent wrapping FDv2SourceResult (ChangeSet, recoverable Interrupted, TerminalError, Shutdown, Goodbye) plus optional FDv1FallbackDirective (TTL). Shared ErrorKind / ErrorInfo types classify failures for status reporting later.

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

@beekld
beekld force-pushed the bklimt/SDK-2700/fdv2-source-traits branch from cd0efbd to 77401d5 Compare August 10, 2026 18:41
@beekld
beekld force-pushed the bklimt/SDK-2700/fdv2-source-traits branch from 77401d5 to 6b2995e Compare August 10, 2026 18:46
@beekld
beekld marked this pull request as ready for review August 10, 2026 20:10
@beekld
beekld requested a review from a team as a code owner August 10, 2026 20:10
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.

1 participant