Skip to content

FFL-3568: Share precomputed fixtures and lossless numeric policy - #4101

Draft
leoromanovsky wants to merge 7 commits into
developfrom
leo.romanovsky/ffl-3568/precompute-fixture-fanout
Draft

leoromanovsky wants to merge 7 commits into
developfrom
leo.romanovsky/ffl-3568/precompute-fixture-fanout

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Run 57 shared precomputed JSON fixtures through public getters, persistent cache restoration, and actual event records. Accept lossless numeric conversions regardless of the numeric wire label. Reject fractional Int reads, range overflow, and inexact Double conversion with TYPE_MISMATCH.

Motivation

Mobile SDKs need one response policy and automatic coverage when upstream cases are added. Ref: FFL-3568.

Additional Notes

Use pinned generated snapshots, integrity checks, a weekly draft update workflow, and module README instructions. No Git submodule or numeric capability is added. Upstream CI enforces generated plain/obfuscated fixture parity. Merge the canonical contract first.

Coverage includes valid and malformed obfuscation, native numeric boundaries, event identity, and exposure suppression. Unsupported variation types are isolated without rejecting valid neighboring flags. Device and live backend validation remain open.

This overlaps the converter changes in #4099, which still enforces the previous strict-type contract. Reconcile that overlap before merging either change.

Bundle size: The shared JSON corpus and runner live under reliability/single-fit/flags/src/test, outside the published Flags module. Inspection of the built release AAR, including its nested JARs, found neither the fixtures nor the runner. The additional test cases therefore add no fixture payload to customer app bundles. Runtime numeric fixes also change SDK code; the total binary-size difference was not measured.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 59.57%
• Overall Coverage: 72.15% (+0.02%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 5ff5ae5 | Docs | View more details | Give us feedback!

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