feat: wire FDv2 into v3 contract tests, with CI#548
Conversation
…verride in FDv2Builder
# Conflicts: # libs/server-sdk/src/client_impl.cpp
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 1293152. Configure here.
| } | ||
| if (in.serviceEndpoints->events) { | ||
| endpoints.EventsBaseUrl(*in.serviceEndpoints->events); | ||
| fdv2.FDv1Fallback(std::move(p)); |
There was a problem hiding this comment.
Explicit fdv1Fallback skips URL
Medium Severity
When dataSystem.fdv1Fallback is present but has no baseUri, BuildFDv2 enables FDv1 fallback without updating ServiceEndpoints polling URL. The synchronizer-derived polling URL logic runs only when fdv1Fallback is omitted, so the same harness config can point FDv1 polling at the default endpoint instead of the mock synchronizer URL.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 1293152. Configure here.


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 limited to contract-test adapters, CI, and test suppressions; production SDK behavior is only exercised indirectly via existing builders.
Overview
Adds v3 SDK contract-test coverage for FDv2 by extending the harness config model and routing client creation through FDv2 when the harness sends a
dataSystemblock.Contract-test service:
ConfigParamsgains optionaldataSystem(initializers, synchronizers,fdv1Fallback,payloadFilter).EntityManager::createchooses FDv2 viaBuildFDv2whendataSystemis present; otherwise it keeps the existing BackgroundSync path in a refactoredBuildBackgroundSync. FDv2 mapping wires streaming/polling synchronizers and initializers, explicit or derived FDv1 fallback (polling URL on global endpoints), and advertises thefdv1-fallbackcapability.CI: New
contract-tests-fdv2andcontract-tests-fdv2-curljobs buildserver-tests, start the service, and run the v3.0.0-alpha.3 harness withtest-suppressions-fdv2.txt(skipped scenarios for TTL vs terminal FDv1 fallback and unexposed FDv2 payload filter URL tests).Reviewed by Cursor Bugbot for commit 1293152. Bugbot is set up for automated code reviews on this repo. Configure here.