feat: wire FDv2 into v3 contract tests, with CI#548
Merged
Conversation
…verride in FDv2Builder
# Conflicts: # libs/server-sdk/src/client_impl.cpp
# Conflicts: # contract-tests/data-model/include/data_model/data_model.hpp # contract-tests/server-contract-tests/src/main.cpp
…lback omits baseUri
kinyoklion
reviewed
Jun 18, 2026
kinyoklion
approved these changes
Jun 18, 2026
kinyoklion
left a comment
Member
There was a problem hiding this comment.
Approved with some comments.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b2126ff. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adds FDv2 wiring to the server contract-test service so the v3 SDK test harness can exercise the FDv2 code paths, plus a CI job that runs the v3 harness on every change.
dataSystemblock onConfigParamscovering harness-provided initializers, synchronizers, and fdv1 fallback.dataSystempresencefdv1-fallbackcapability advertised by the servicetest-suppressions-fdv2.txtNote
Low Risk
Changes are confined to contract-test models, the test service, CI, and suppressions—not production server SDK runtime paths.
Overview
Extends the server contract-test service so the v3 harness can drive FDv2 data-system configuration, and runs that harness in CI (default HTTP client and curl variants).
The harness can send a
dataSystemblock on create-instance config. The data model gainsConfigDataSystemParams(initializers, synchronizers, optional fdv1 fallback, payload filter field) andConfigParams.dataSystem.EntityManager::createnow choosesBuildFDv2whendataSystemis present (mapping streaming/polling syncs, initializers, and fdv1 fallback—including derived polling URL/interval when fallback is omitted) versus the refactoredBuildBackgroundSyncpath for legacy streaming/polling fields. The test service advertisesfdv1-fallback.test-suppressions-fdv2.txtskips scenarios the C++ SDK does not match yet (TTL vs terminal fdv1-fallback halt semantics, SDK-2527; FDv2 public payload filter / environment filter URL cases).Reviewed by Cursor Bugbot for commit 8b0b35e. Bugbot is set up for automated code reviews on this repo. Configure here.