FAILURE MAP
← Case archive

FA-74100 / Feature flag rollout bucketing / Member archive

Global holdout exclusion: The holdout reuses the flag bucket · case 05

Holdout membership differs per flag, so every user is held out of some launches and exposed to others.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

h = crc32("holdout:" + user) % 100 and b = crc32(flag + ":" + user) % 100. Users listed exactly in force get treatment (forced). Otherwise h < holdout_pct puts the user in the global holdout (control, holdout). Otherwise b < rollout gives treatment, else control (reason rollout). Return [variant, reason, h, b].

Why this case matters

A global holdout measures the cumulative effect of all launches and must stay uncontaminated.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
forced QA user inside the holdout["treatment", "forced", 94, 94]["treatment", "forced", 6, 94]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗