Repository navigation
Conversation
Every UFC split has a stable per-org serialId used by downstream consumers (APM span enrichment, exposure caching, evaluation-metrics correlation) to identify the exact (allocation, variant) pair that was assigned. Today only the Node server SDK (openfeature-js-client#269) exposes this via flagMetadata["__dd_split_serial_id"]; this test generalizes the contract so every SDK can be validated the same way. Adds a dedicated fixture covering: a plain serialId, serialId=0 (a valid ID that must not be dropped by a truthiness check), a split with no serialId (must not fabricate one), and two allocations with different serialIds selected via targeting. All languages are marked missing_feature: verified directly against the Node.js and Go parametric weblog handlers that neither returns flagMetadata from POST /ffe/evaluate today. The new feature_flags_serial_id_metadata marker uses NOT_REPORTED_ID pending a real feature-parity page.
Exclude the UFC configuration from evaluation-case discovery, disable the new suite for Rust, and require successful evaluation before accepting an absent serial ID. Apply the repository formatter to the new test module. Environment: Datadog workspace
Fail evaluations that omit flagMetadata while allowing null or empty metadata when a split has no serial ID. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Tighten the missing-serial-ID test so an SDK cannot serialize an absent UFC serial ID as a null metadata entry. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Exercise serial-ID flag metadata under the required span-enrichment configuration for positive, zero, and missing UFC serial IDs. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Fix the import-policy failure when the PR is tested against current main. Environment: Datadog workspace Co-Authored-By: Codex GPT-6 <noreply@localhost>
Bring in the exact upstream facade so imports work on the PR head as well as merged main. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Return SDK evaluation details so serial ID metadata tests can exercise Ruby support. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Contributor
|
|
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🔗 Commit SHA: 7ea591b | Docs | View more details | Give us feedback! |
This was referenced Sep 29, 2026
hhan2024
force-pushed
the
ffe-serial-id-metadata-system-test
branch
from
September 30, 2026 16:24
9547cef to
ea6ec3f
Compare
hhan2024
force-pushed
the
ffe-serial-id-metadata-system-test
branch
from
October 15, 2026 17:12
b59cca6 to
4352704
Compare
Start the provider without injecting the UFC fixture after Remote Config acknowledgement. Environment: Datadog workspace Co-Authored-By: Codex GPT-6 <noreply@localhost>
This branch has not been deployed
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.
Summary
Stacked directly on #7820. Return Ruby OpenFeature evaluation details, including actual SDK flag metadata, from the parametric adapter.
Dependency / enablement
Depends on the Ruby SDK provider fix: DataDog/dd-trace-rb#6400.
That change copies the evaluated split serial ID into
__dd_split_serial_idwhen span enrichment is enabled, preserving zero and omitting a missing ID.The serial-ID manifest intentionally remains
missing_feature: no released Ruby SDK version is yet verified to contain this patch. Keep this PR draft until the SDK change is merged and its release floor is assigned; then replace the manifest marker with that version.Validation
-F missing_feature(positive, zero, missing, targeting, repeated)../format.sh, Ruby syntax check, SDK RuboCop (1,978 files), and full SDK Steep type check pass.No serial IDs are synthesized or normalized by the test adapter, and shared assertions are unchanged.