Skip to content

feat: wire FDv2 into v3 contract tests, with CI#548

Merged
beekld merged 80 commits into
mainfrom
beeklimt/SDK-2102
Jun 22, 2026
Merged

feat: wire FDv2 into v3 contract tests, with CI#548
beekld merged 80 commits into
mainfrom
beeklimt/SDK-2102

Conversation

@beekld

@beekld beekld commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

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.

  • New dataSystem block on ConfigParams covering harness-provided initializers, synchronizers, and fdv1 fallback.
  • Entity manager dispatches FDv2 vs BackgroundSync based on the dataSystem presence
  • fdv1-fallback capability advertised by the service
  • Empty test-suppressions-fdv2.txt
  • New CI job runs the v3.0.0-alpha.3 harness

Note

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 dataSystem block on create-instance config. The data model gains ConfigDataSystemParams (initializers, synchronizers, optional fdv1 fallback, payload filter field) and ConfigParams.dataSystem. EntityManager::create now chooses BuildFDv2 when dataSystem is present (mapping streaming/polling syncs, initializers, and fdv1 fallback—including derived polling URL/interval when fallback is omitted) versus the refactored BuildBackgroundSync path for legacy streaming/polling fields. The test service advertises fdv1-fallback.

test-suppressions-fdv2.txt skips 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.

@beekld beekld force-pushed the beeklimt/SDK-2102 branch from 1e4e898 to c3a8a41 Compare June 4, 2026 23:43
@beekld beekld force-pushed the beeklimt/SDK-2100 branch from 095280a to 58392f8 Compare June 4, 2026 23:43
@beekld beekld force-pushed the beeklimt/SDK-2102 branch from c3a8a41 to 9dd3055 Compare June 4, 2026 23:51
@beekld beekld force-pushed the beeklimt/SDK-2100 branch from 58392f8 to aaf3aa6 Compare June 4, 2026 23:51
@beekld beekld force-pushed the beeklimt/SDK-2100 branch from aaf3aa6 to 9bb657e Compare June 5, 2026 18:07
@beekld beekld force-pushed the beeklimt/SDK-2102 branch from 9dd3055 to a6ffcae Compare June 5, 2026 18:07
Base automatically changed from beeklimt/SDK-2100 to main June 17, 2026 22:45
@beekld beekld marked this pull request as ready for review June 17, 2026 23:26
@beekld beekld requested a review from a team as a code owner June 17, 2026 23:26
Comment thread contract-tests/server-contract-tests/src/entity_manager.cpp
beekld added 2 commits June 17, 2026 18:03
# Conflicts:
#	contract-tests/data-model/include/data_model/data_model.hpp
#	contract-tests/server-contract-tests/src/main.cpp
Comment thread .github/workflows/server.yml Outdated

@kinyoklion kinyoklion left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with some comments.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread contract-tests/server-contract-tests/src/entity_manager.cpp
@beekld beekld merged commit 85afca7 into main Jun 22, 2026
49 checks passed
@beekld beekld deleted the beeklimt/SDK-2102 branch June 22, 2026 18:24
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