FA-74318 / Feature flag rollout bucketing / Member archive
Seeded weighted rollout: Sixteen hex digits overflow the unit interval · case 03
Nearly every user gets a bucket far above 1 and falls into the last variation.
Case contract
Hash text is (str(seed) if seed is not None else flag_key + "." + salt) + "." + ident, plus "." + secondary when secondary is not None (an empty string still counts). bucket = int(first 15 hex digits of sha1(text), 16) / 0xFFFFFFFFFFFFFFF. weights are in 1/100000 units; return the first index whose cumulative weight / 100000 exceeds the bucket, else the last index, as [index, round(bucket, 6)].
Why this case matters
Seeds let several flags share one bucketing so a cohort sees consistent variations.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| seed zero is a real seed | [1, 5.302286] | [0, 0.331393] | 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 ↗