Skip to content

FFL-3568: Define shared mobile precomputed response conformance - #65

Draft
leoromanovsky wants to merge 6 commits into
mainfrom
leo.romanovsky/precompute-fixture-fanout
Draft

leoromanovsky wants to merge 6 commits into
mainfrom
leo.romanovsky/precompute-fixture-fanout

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

Mobile SDKs need one precomputed-response contract for numeric getters and flag-key obfuscation. Ref: FFL-3568.

Changes

  • Add 25 JSON fixtures for numeric matrices, fixed Unicode digests, invalid encodings, and unsupported consumers. The merged upstream corpus now contains 38 fixtures.
  • Add explicit response-rejection expectations and Unity platform filtering.
  • Add a reproducible snapshot importer with commit provenance, recursive discovery, integrity checks, and Unity metadata.
  • All 38 fixtures validate; 16 validator and importer regression tests pass.

Decisions

Numeric policy is unresolved in this draft. The current cases preserve legacy number behavior and restrict explicit integer and float reads. The November 3 update to FFL-3568 instead requires lossless reads regardless of declared type. FFL-3564 now retains number responses. Reconcile the numeric cases before merge.

Correct the unsupported-type expectation to FLAG_NOT_FOUND, as the existing precomputed guide requires. Rules-based malformed-flag policy is separate.

Consumers use generated snapshots, following the APM snapshot precedent. Merge the agreed contract before its mobile consumer PRs.

Checklist

  • JSON files are valid (no syntax errors)
  • New test cases reference existing flags in config/ufc-config.json — not applicable; these fixtures contain precomputed responses.
  • New flags have corresponding test cases in evaluation-cases/ — not applicable; no rules-based flags changed.
  • Expected results match the flag configuration logic — numeric policy reconciliation remains open.

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